Skip to content

About

Self-hosted manga & comic library. Search, download, and read CBZ archives from your own server.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

ComicOrbit

Self-hosted manga & comic library. Search, download, and read CBZ archives from your own server — no subscriptions, no tracking.

Docker Hub GitHub


Features

  • 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 /Manga your 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 /dashboard links 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

Quick start

# 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 comics
docker compose up -d
# then open http://localhost:7080

On 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).


Sign in with Amethyst (optional)

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.

Environment variables

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.

Download sources

Source Content Method
MangaFreak Manga HTML scraping

Disk layout

/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

Development

git clone https://github.com/RayderC/ComicOrbit.git
cd ComicOrbit
npm install
npm run dev        # http://localhost:7080

Requires Node.js 20+. The SQLite native module is compiled during npm install.


Stack

  • 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

License

MIT

About

Self-hosted manga & comic library. Search, download, and read CBZ archives from your own server.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages