First-time Setup
After installation — signup, then add and scan your first library.
Once milmil is running, you'll work through three short tasks to start watching: create your admin account in the signup wizard, then add and scan your first library from the main UI. Only the first task is a guided wizard — the next two are everyday actions in the Libraries section.
Create your admin account
The first time you open milmil, the app routes you to the /setup page. It's a one-screen signup wizard.
Enter a username and a strong password and submit. milmil creates the admin user and logs you straight in. There is currently only one admin account — additional users can be created later from settings.
Choose a strong password. There is no password recovery without database access.
Skip the UI: You can auto-provision the admin account via env vars. Set ADMIN_USER and ADMIN_PASSWORD in api/.env before first boot. milmil creates the admin on startup if the users table is empty, then the wizard redirects straight to login. Remove the vars after first boot to avoid leaving the password on disk.
Add your first library
After signup you land on the home page. There is no in-app wizard for this step — you add libraries manually:
- Open Libraries from the sidebar.
- Click Add Library.
- Fill in the form (storage backend + path or connection details) and save.
milmil supports multiple storage backends:
The simplest setup — provide the path to your anime folder:
/media/animeIf using Docker, this path must match your container volume mount (e.g. /media/anime if your MEDIA_DIR in .env points to your anime folder on the host).
Scan the library
A new library doesn't scan automatically the moment you save it. To trigger the first scan:
- Open the Libraries page.
- Click into the library you just added.
- Click Scan.
(Or wait for the configured auto-scan interval to fire.)
The scan pipeline:
- Walks the directory tree to discover media files
- Extracts metadata using FFmpeg (codec, resolution, duration, subtitles)
- Matches files to anime entries using DandanPlay, Bangumi, and AniList
- Enriches episodes with cover images, titles, and descriptions
Initial scans can take several minutes for large libraries. Progress is shown in the UI.
Metadata Matching
milmil uses a multi-provider matching pipeline:
- DandanPlay Hash — Most accurate, matches by file hash
- Bangumi — Title-based matching against the Bangumi database
- AniList — Alternative title matching
- TMDB — Fallback cross-reference
Unmatched files can be manually matched from the library detail page.