{"id":46906767,"url":"https://github.com/hankscafe/omnibus","last_synced_at":"2026-06-27T01:02:37.480Z","repository":{"id":341917727,"uuid":"1154525873","full_name":"hankscafe/omnibus","owner":"hankscafe","description":"Omnibus - A self-hosted comic book and manga manager. Automate downloads, sync rich metadata, and read your collection from anywhere. Your Universe. Organized.","archived":false,"fork":false,"pushed_at":"2026-04-27T18:05:47.000Z","size":30941,"stargazers_count":30,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-27T20:09:20.657Z","etag":null,"topics":["cbz","comic","comic-downloader","comic-library-management","comic-reader","comic-requestor","comicbook","comics","comics-downloader","comicvine","comicvine-api","docker","homelab","manga","manga-downloader","manga-library-management","manga-reader","manga-requestor","nextjs","self-hosted"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hankscafe.png","metadata":{"files":{"readme":"README-docker.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-10T13:43:11.000Z","updated_at":"2026-04-27T19:03:54.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/hankscafe/omnibus","commit_stats":null,"previous_names":["hankscafe/omnibus"],"tags_count":150,"template":false,"template_full_name":null,"purl":"pkg:github/hankscafe/omnibus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hankscafe%2Fomnibus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hankscafe%2Fomnibus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hankscafe%2Fomnibus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hankscafe%2Fomnibus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hankscafe","download_url":"https://codeload.github.com/hankscafe/omnibus/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hankscafe%2Fomnibus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32402720,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T19:38:08.556Z","status":"ssl_error","status_checked_at":"2026-04-28T19:37:55.688Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cbz","comic","comic-downloader","comic-library-management","comic-reader","comic-requestor","comicbook","comics","comics-downloader","comicvine","comicvine-api","docker","homelab","manga","manga-downloader","manga-library-management","manga-reader","manga-requestor","nextjs","self-hosted"],"created_at":"2026-03-11T01:18:17.344Z","updated_at":"2026-06-27T01:02:37.462Z","avatar_url":"https://github.com/hankscafe.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Omnibus\n\n**The ultimate all-in-one, self-hosted comic book and manga app.**\n\n\u003cdiv align=\"center\"\u003e\n\n  [![Build Status](https://img.shields.io/github/actions/workflow/status/hankscafe/omnibus/docker-publish.yml?branch=main\u0026style=for-the-badge\u0026logo=github\u0026label=Build)](https://github.com/hankscafe/omnibus/actions/workflows/docker-publish.yml)\n  [![Test Status](https://img.shields.io/github/actions/workflow/status/hankscafe/omnibus/test-and-notify.yml?branch=main\u0026style=for-the-badge\u0026logo=github\u0026label=Tests)](https://github.com/hankscafe/omnibus/actions/workflows/test-and-notify.yml)\n  [![Docker Image (GHCR)](https://img.shields.io/badge/Docker-GHCR-blue?style=for-the-badge\u0026logo=docker\u0026logoColor=white)](https://github.com/hankscafe/omnibus/pkgs/container/omnibus)\n  [![Docker Hub Version](https://img.shields.io/docker/v/hankscafe/omnibus.svg?style=for-the-badge\u0026logo=docker\u0026label=Docker%20Hub)](https://hub.docker.com/r/hankscafe/omnibus)\n  [![Docker Pulls](https://img.shields.io/docker/pulls/hankscafe/omnibus.svg?style=for-the-badge\u0026logo=docker)](https://hub.docker.com/r/hankscafe/omnibus)\n  [![Docker Image Size](https://img.shields.io/docker/image-size/hankscafe/omnibus/latest.svg?style=for-the-badge\u0026logo=docker)](https://hub.docker.com/r/hankscafe/omnibus)\n  [![License](https://img.shields.io/github/license/hankscafe/omnibus?style=for-the-badge\u0026color=green)](https://github.com/hankscafe/omnibus/blob/main/LICENSE)\n  [![GitHub Stars](https://img.shields.io/github/stars/hankscafe/omnibus?style=for-the-badge\u0026logo=github\u0026color=yellow)](https://github.com/hankscafe/omnibus/stargazers)\n  [![Discord](https://img.shields.io/discord/1483588541341503500?style=for-the-badge\u0026logo=discord\u0026logoColor=white\u0026label=Discord\u0026color=5865F2)](https://discord.gg/FBnzdBZP)\n\n\u003c/div\u003e\n\n**Omnibus** is a self-hosted web application built specifically for the comic book and manga community. It seamlessly bridges the gap between discovering, requesting, downloading, managing, and reading your digital collection.\n\nBuilt with Next.js 15, Tailwind v4, Prisma, and a serverless SQLite engine, Omnibus is lightweight, performant, and responsive across all devices.\n\n**For full documentation, screenshots, and deep-dive feature breakdowns, please visit the [Official Omnibus GitHub Repository](https://github.com/hankscafe/omnibus).**\n\n## Core Features\n\n  * **Dual Metadata Engines:** Choose between ComicVine (default) or Metron.Cloud as your primary source to automatically pull high-res covers, synopses, and creator credits. \n  * **All-In-One Pipeline:** Discover new releases, request missing issues, send them to your download clients (qBittorrent, SABnzbd, etc.), and read them—all from one interface.\n  * **Native Web Reader:** Blazing fast, zero-friction browser reading for `.cbz`, `.cbr` (auto-converts to cbz), and `.epub` archives with LTR, RTL (Manga), and Webtoon scroll support.\n  * **Automated Organization \u0026 Smart Matcher:** Auto-extracts, renames, and routes downloaded files to your mapped library directories. Unmatched loose files can be instantly organized using the AI-assisted Smart Matcher with support for both ComicVine and Metron IDs.\n  * **Smart Reading Lists:** Instantly auto-build reading orders by pasting a ComicVine or Metron Event ID. Easily import external lists from CBL files, CSVs (League of Comic Geeks), AniList, or MyAnimeList.\n  * **Release Calendar \u0026 Discovery:** Track upcoming global comic releases and maintain a personalized pull list (powered by Metron), complete with color-coded library badges to instantly spot missing or unreleased issues.\n  * **Multi-User \u0026 Secure:** NextAuth integration with OpenID Connect (SSO), 2FA, and distinct reading progress tracking for friends and family.\n  * **External Reading (OPDS \u0026 KOReader):** Native OPDS 1.2 server with Page Streaming Extension (PSE) for apps like Panels and Mihon, plus native e-ink sync for KOReader devices.\n\n-----\n\n## Installation (Docker Compose)\n\nOmnibus is built to be deployed via Docker. Because it utilizes a serverless SQLite engine, **all necessary database files and dependencies are bundled directly into the image.** There are no external database containers required.\n\n1.  Save the following as `docker-compose.yml`:\n\n\u003c!-- end list --\u003e\n\n```yaml\nversion: '3.8'\n\nservices:\n  omnibus:\n    image: ghcr.io/hankscafe/omnibus:latest\n    container_name: omnibus\n    restart: unless-stopped\n    ports:\n      - \"3000:3000\"\n    depends_on:\n      - omnibus-redis\n    environment:\n      - TZ=America/New_York\n      \n      # REQUIRED: The canonical URL of your Omnibus instance. NextAuth requires this to match exactly.\n      # Local access only: Set to your NAS IP and port (e.g., http://192.168.1.50:3000)\n      # External access: Set to your public domain (e.g., https://omnibus.yourdomain.com)\n      # NOTE: Do NOT include a trailing slash!\n      - NEXTAUTH_URL=http://\u003cyour-ip:port\u003e\n      \n      # REQUIRED: Generate a random string for security\n      # !!NOTE!! - NEXTAUTH_SECRET also works as master database encryption key. !!DO NOT LOSE THIS!!\n      - NEXTAUTH_SECRET=\n\n      # --- ADVANCED SECURITY SETTINGS ---\n      # By default, Omnibus requires an HTTPS connection to use the \"Login As\" (Impersonation) feature \n      # to prevent session tokens from being intercepted over the network.\n      # If you are running Omnibus on a secure, private home network (LAN) without SSL, \n      # uncomment the line below to bypass this restriction at your own risk.\n      # - ALLOW_INSECURE_IMPERSONATION=true\n      \n      # REQUIRED: Connection URL for the background job queue\n      - OMNIBUS_REDIS_URL=redis://omnibus-redis:6379/0\n      \n      # REQUIRED: Database connection string\n      - DATABASE_URL=file:/config/omnibus.db\n      \n      # PRE-STAGED PATHS: These automatically create subfolders inside your mapped /config volume below\n      - OMNIBUS_CACHE_DIR=/config/cache\n      - OMNIBUS_LOGS_DIR=/config/logs\n      - OMNIBUS_BACKUPS_DIR=/config/backups\n\n      # DROP FOLDERS: Set these inside your single data mount for fast atomic moves!\n      - OMNIBUS_WATCHED_DIR=/data/watched\n      - OMNIBUS_AWAITING_MATCH_DIR=/data/unmatched\n\n    volumes:\n      # REQUIRED: Persistent storage for Database, Logs, Backups, Cache, and Uploaded Images\n      - /path/to/your/nas/config:/config\n      \n      # -------------------------------------------------------------------------\n      # OPTION 1: The Recommended Single Data Mount (Fast Atomic Moves/Hardlinks)\n      # -------------------------------------------------------------------------\n      # Maps your entire media/download root to /data for optimal performance\n      - /path/to/your/nas/data:/data \n      \n      # -------------------------------------------------------------------------\n      # OPTION 2: Separate Mounts (Slower copy/paste/delete operations)\n      # Uncomment these and remove Option 1 if your folders are on different drives\n      # -------------------------------------------------------------------------\n      # - /path/to/your/nas/comics:/comics\n      # - /path/to/your/nas/manga:/manga\n      # - /path/to/your/nas/downloads:/downloads\n      # - /path/to/your/nas/watched:/watched\n      # - /path/to/your/nas/unmatched:/unmatched\n\n  omnibus-redis:\n    image: redis:alpine\n    container_name: omnibus-redis\n    restart: unless-stopped\n    # No ports exposed to the host machine to prevent conflicts. \n    # Omnibus connects to this purely via Docker's internal network.\n```\n\n2.  Run `docker-compose up -d`.\n3.  Open your browser and navigate to your `NEXTAUTH_URL` to access the initial Setup Wizard\\!\n\n## Support \u0026 Community\n\nIf you run into issues, have suggestions, or want to contribute, please join the community:\n\n  * [**Report a Bug / Request a Feature**](https://github.com/hankscafe/omnibus/issues)\n  * [**Join the Discord**](https://discord.gg/FBnzdBZP)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhankscafe%2Fomnibus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhankscafe%2Fomnibus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhankscafe%2Fomnibus/lists"}