Self-hosted manga & comic library. Search, download, and read CBZ archives from your own server — no subscriptions, no tracking.
- Netflix-style home page — Continue Reading, Next Up, Recently Added, Recommended, and Favorites rows
- Login-gated — every page requires authentication; first launch auto-redirects to account setup
- Download from MangaFreak — parallel page downloads with live progress
- Built-in reader — CBZ pages streamed from disk; tap left/right to turn pages, tap the middle to toggle the toolbar; keyboard arrows also work. On a tablet or a phone held sideways it shows two pages side by side (cover on its own), with a toggle in the toolbar, and the next chapter starts loading before you reach the end
- Per-user read progress — picks up exactly where you left off
- Favorites & custom collections — star series and group them however you want
- Tag / type / status filters in the full library view
- Multi-user — admin creates additional accounts on the Admin page, and can sign anyone out of every device. Your Settings page lists recent sign-ins and wrong-password tries, with Sign out everywhere else
- Backups — a copy of the database every night (the last 7, in
/config/backups), plus Download backup and restore on the Admin page. A copy is saved before every restore, so it can be undone. Manga files aren't included; back up/Mangayour own way - Update notice — the Admin page says when a newer image is on Docker Hub (checked once a day; nothing about you is sent)
- Same layout as the other apps — a sidebar on big screens, and on phones a bottom bar with Home, Library, Favorites, Stats and More. Admins also get Series (reading direction, covers, checking for new chapters, removing), Add series, Downloads and Admin in the menu. Old
/dashboardlinks still work - PWA / Add to Home Screen — installs as a full-screen app on iOS and Android with a proper icon and offline shell
- Single-container Docker — SQLite database, auto-generated session secret, bind-mount volumes for your files
# docker-compose.yml
services:
comicorbit:
image: rayderc/comicorbit:latest
container_name: comicorbit
restart: always
ports:
- "7080:7080"
volumes:
- ./config:/config # SQLite DB + session secret
- ./Manga:/Manga # Downloaded manga chapters
- ./Comics:/Comics # Downloaded comicsdocker compose up -d
# then open http://localhost:7080On first launch you'll be redirected to the setup page to create the admin account (pre-filled as admin / admin — change the password after you log in).
If you run Amethyst, people can sign in here with their Amethyst account. In Amethyst, open Dashboard → System and turn on shared login. Then on this app's admin page, under Sign in with Amethyst, put in Amethyst's address and paste the shared secret. The login page gets a Sign in with Amethyst button.
It signs in the account here with the same username as the Amethyst one, so create the accounts here first. Passwords keep working. You can also set AMETHYST_URL and AMETHYST_SSO_SECRET on the container instead.
| Variable | Default | Purpose |
|---|---|---|
SESSION_SECRET |
auto-generated | Min 32 chars. Written to /config/.session_secret on first run if not set. |
SESSION_COOKIE_SECURE |
false |
Set to true if you put ComicOrbit behind a TLS-terminating reverse proxy (nginx, Traefik, etc). |
DATABASE_PATH |
/config/comicorbit.db |
SQLite file location. |
CONFIG_DIRECTORY |
/config |
Directory for the DB and session secret. |
| Source | Content | Method |
|---|---|---|
| MangaFreak | Manga | HTML scraping |
/config/
comicorbit.db ← SQLite (users, series, chapters, queue, progress)
.session_secret ← auto-generated 48-byte secret
/Manga/
One Piece/
cover.jpg
One Piece - 1.cbz
One Piece - 2.cbz
/Comics/
Batman/
cover.jpg
Batman - 1.cbz
git clone https://github.com/RayderC/ComicOrbit.git
cd ComicOrbit
npm install
npm run dev # http://localhost:7080Requires Node.js 20+. The SQLite native module is compiled during npm install.
- Next.js 16 (App Router + Pages Router) · React 19 · TypeScript
- SQLite via
better-sqlite3 - iron-session for encrypted cookie auth
- cheerio for HTML scraping
- Cyberpunk/amethyst theme
MIT