2026-06-13 21:32:51 +02:00
2026-06-13 21:31:42 +02:00
2026-06-12 11:39:00 +02:00
2026-05-12 10:07:05 +02:00
2026-05-28 11:24:39 +02:00
2026-05-28 11:24:27 +02:00
2026-05-28 11:24:27 +02:00
2026-05-29 13:01:04 +02:00
2026-05-14 12:42:17 +02:00
2026-05-14 12:42:17 +02:00
2026-04-14 22:36:32 +02:00

MyAnimeList

MyAnimeList logo

Go SQLite Tailwind HTMX License

MyAnimeList is a small self-hosted anime tracker and playback app. It keeps the catalog, watchlist, progress tracking, and player in one place, backed by a single SQLite database and a single Go server.

Most of the UI is rendered on the server. HTMX handles lightweight updates like search, pagination, and watchlist changes, while TypeScript is kept for the parts that need real browser state: the video player, command palette, theme handling, and skip segment editor. The app also includes local users, API tokens, subtitle support, playlist rewriting, provider integrations, migrations, and startup data fixes.

Running

Requires Go 1.25+, Bun, just, and a C compiler for SQLite.

bun install
just build
go run ./cmd/user <username> <password>
just dev

The app starts on http://localhost:3000 by default. Configuration comes from environment variables, and a local .env file is loaded automatically. The most useful options are PORT, DATABASE_FILE, PLAYBACK_PROXY_SECRET, EPISODE_AVAILABILITY_MODE, and ANIMESCHEDULE_API_TOKEN.

Development

The codebase is split between Go feature packages, external integrations, server-rendered templates, and a small frontend asset pipeline. cmd/server starts the web app, cmd/user contains local admin tools, internal holds the application modules, integrations holds provider clients, and templates, static, and dist contain the UI.

The common development commands are in the justfile.

just fmt
just test
just lint-go
just lint-ts
just typecheck
just build

Run the full local check with:

just check

License

MIT. See LICENSE.

Description
No description provided
Readme MIT 32 MiB
Languages
Go 72.3%
TypeScript 26.9%
CSS 0.3%
Dockerfile 0.2%
Just 0.2%