{"id":46906767,"url":"https://github.com/hankscafe/omnibus","last_synced_at":"2026-04-28T23:05:48.570Z","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-04-28T23:05:48.564Z","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  [![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  * **All-In-One Pipeline:** Discover new releases via ComicVine, 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:** Auto-extracts, renames, and moves downloaded files to your mapped library directories.\n  * **Multi-User \u0026 Secure:** NextAuth integration with OpenID Connect (SSO), 2FA, and distinct reading progress tracking for friends and family.\n  * **Smart Reading Lists:** Paste a ComicVine Event ID (e.g., *Marvel Civil War*) and Omnibus will automatically generate the official reading order and map your existing files to it.\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      # 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"}