ComicsNow/comics-now

JavaScript

14

164 commits

updated Oct 2, 2026

See the code

See what people are saying

SourceMessageScoreDate

Comics Now! update: Gemini cover recognition, resumable background downloads, and a page preview grid (r/SideProject)

Hey everyone, Quick update on Comics Now!, the self-hosted comic and manga web reader. This release has a few things I'm excited about: # Gemini cover recognition (optional) If a file has weird naming or missing info, Gemini can look at the cover art and identify the series, issue, publisher, and…

1

Oct 2, 2026

README

Comics Now! πŸ’₯πŸ“š

The modern, self-hosted comic book library server, smart reader, and AI-augmented cataloging platform.

npm version Docker Ready GHCR Image npm publish Build Status CodeQL Status Support on Ko-fi Documentation License


⚑ Why Comics Now!?

Most digital comic servers were built a decade ago as basic file browsers. Comics Now! re-imagines your comic library as a modern, intelligent web application designed for desktops, tablets, and phones:

  • 🧠 Smart Guided View: Automatically detects panels and dialogue bubbles using deep learning neural networks (manga.onnx and speech bubble detectors) for an immersive panel-by-panel reading experience. Features incremental scoping and auto-detection on library scan.
  • πŸ–ΌοΈ Fullscreen Page Preview Grid & WebP Cache: Navigate issues visually with a dynamic, lazy-loaded page preview grid. Full-resolution WebP on-the-fly transcoding backed by an LRU disk cache cuts bandwidth and memory while keeping 1:1 pixel coordinates for panel zoom.
  • πŸ”„ True Cross-Device Sync: Pick up right where you left off. Reading progress syncs in real-time between your phone, tablet, and PC.
  • πŸ“± Resumable Offline PWA & Background Fetch: Install Comics Now! to your iOS, iPadOS, Android, or desktop home screen. Queue comics with HTTP Range resumable transfers, and enjoy native Android Background Fetch so downloads keep running with the browser closed.
  • πŸ€– Google Gemini AI Vision & Multi-Source Tagging: Built-in enrichment engine querying ComicVine, Metron, GCD, Goodreads, Amazon, Google Books, and additional sources with perceptual cover hashing. Powered by Google Gemini AI Vision to visually identify issue numbers, series, publishers, and release years directly from cover art when standard scraping fails.
  • πŸ“ Configurable File & Folder Organization: Flexible 4-tab management panel with customizable token naming rules and folder hierarchy templates, with live preview and safe, type-to-confirm batch execution for entire libraries.
  • πŸ”Œ AI Model Context Protocol (MCP): Native Python MCP server exposing 13+ tools allowing Claude, Cursor, and Gemini to curate reading lists, inspect cover art, trigger guided view detection, reorganize directories, and query your collection with natural language.
  • πŸ›‘οΈ Cloudflare Zero Trust Ready: Zero open ports needed. Full integration with Cloudflare Access JWT authentication, granular user permissions (down to publisher and series), and admin impersonation.
  • πŸ“‚ Metadata Mode & Folder Mode: Organize your library by metadata tags (Publisher β†’ Series β†’ Issue) or mirror your physical directory tree directly.
  • πŸ’» Client-Side Local Reader: Drag and drop local CBZ/CBR files directly into the browser to read instantly with WebAssemblyβ€”no file upload required.

🎬 Showcase

AI Smart Guided ViewMulti-Device Reader
Guided View DemoFeature Demo
πŸ“Έ Click to view UI Screenshots
Library ViewSeries ViewComic Details
Reader ControlsGuided View PanelsReading Lists
Metadata InspectorTagger MatchesUser Settings

πŸš€ Quick Start (60 Seconds)

Option 1: Run Instantly with npx (No Setup Required)

# Point directly to your comic books folder
npx comics-now --comics /path/to/your/comics --port 3000

Or install globally:

npm install -g comics-now
comics-now --comics /path/to/your/comics

Option 2: Docker CLI

docker run -d \
  --name comics-now \
  -p 3000:3000 \
  -v $(pwd)/data:/app/data \
  -v /path/to/your/comics:/comics:ro \
  --restart unless-stopped \
  ghcr.io/comicsnow/comics-now:latest

Open http://localhost:3000 in your browser!


Option 2: Docker Compose

Save as docker-compose.yml:

services:
  comics-now:
    image: ghcr.io/comicsnow/comics-now:latest
    container_name: comics-now
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=production
      - DATA_DIR=/app/data
      - PORT=3000
    volumes:
      - ./data:/app/data
      - /path/to/your/comics:/comics:ro
    restart: unless-stopped

Launch with:

docker compose up -d

πŸ“– Complete Documentation & Wiki

Looking for detailed setup guides, configuration tables, or workflow deep dives? Check out our comprehensive documentation manual:

πŸ‘‰ Read the Full Comics Now! Wiki Manual

Manual Highlights:


πŸ€– Model Context Protocol (MCP) Integration

Comics Now! includes a built-in Python MCP server (mcp/) that lets your AI coding assistant or desktop agent manage your collection:

# Add to Claude Code
claude mcp add comics-now -- /path/to/comics-now/mcp/run.sh

# Or start directly
npm run mcp

What your AI agent can do:

  • πŸ” "Create a chronological reading list for the Infinity Gauntlet event across all my comics."
  • πŸ€– "Use Gemini AI Vision to inspect the cover of comic #412 and identify its canonical publisher, series, and year."
  • 🎨 "Inspect the cover of comic #412, verify the issue via web search, and tag the writer and artist."
  • πŸ“ "Trigger incremental guided view panel detection for the Batman (2016) series."
  • πŸ“ "Simulate file renaming and folder reorganization for my Marvel library using saved token rules."
  • πŸ“Š "Query SQLite for all unread Spider-Man comics published between 1985 and 1992."

(Read the MCP Architecture & Setup Guide for configuration details.)


πŸ› οΈ Bare Metal Installation

If you prefer running without Docker on Debian / Ubuntu / Raspberry Pi OS:

# 1. Install prerequisites
sudo apt update
sudo apt install -y nodejs npm python3 python3-pip python3-venv poppler-utils zip unrar

# 2. Clone repository & install dependencies
git clone https://github.com/ComicsNow/comics-now.git
cd comics-now
npm install
npm run build

# 3. Configure environment
cp .env.example .env

# 4. Start server
npm start

❀️ Support Comics Now!

If Comics Now! helps you enjoy and organize your comic book collection, consider buying a coffee to support continued development:

Support on Ko-fi


🀝 Contributing

Contributions, feature requests, and bug reports are warmly welcome!

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature/amazing-feature).
  3. Run automated tests (npm test).
  4. Commit your changes (git commit -m 'feat: add amazing feature').
  5. Push to your branch and open a Pull Request.

πŸ“„ License

Comics Now! is free and open-source software licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See the LICENSE file for details.

ComicsNow/comics-now

JavaScript

14

164 commits

updated Oct 2, 2026

See the code

See what people are saying

SourceMessageScoreDate

Comics Now! update: Gemini cover recognition, resumable background downloads, and a page preview grid (r/SideProject)

Hey everyone, Quick update on Comics Now!, the self-hosted comic and manga web reader. This release has a few things I'm excited about: # Gemini cover recognition (optional) If a file has weird naming or missing info, Gemini can look at the cover art and identify the series, issue, publisher, and…

1

Oct 2, 2026

README

Comics Now! πŸ’₯πŸ“š

The modern, self-hosted comic book library server, smart reader, and AI-augmented cataloging platform.

npm version Docker Ready GHCR Image npm publish Build Status CodeQL Status Support on Ko-fi Documentation License


⚑ Why Comics Now!?

Most digital comic servers were built a decade ago as basic file browsers. Comics Now! re-imagines your comic library as a modern, intelligent web application designed for desktops, tablets, and phones:

  • 🧠 Smart Guided View: Automatically detects panels and dialogue bubbles using deep learning neural networks (manga.onnx and speech bubble detectors) for an immersive panel-by-panel reading experience. Features incremental scoping and auto-detection on library scan.
  • πŸ–ΌοΈ Fullscreen Page Preview Grid & WebP Cache: Navigate issues visually with a dynamic, lazy-loaded page preview grid. Full-resolution WebP on-the-fly transcoding backed by an LRU disk cache cuts bandwidth and memory while keeping 1:1 pixel coordinates for panel zoom.
  • πŸ”„ True Cross-Device Sync: Pick up right where you left off. Reading progress syncs in real-time between your phone, tablet, and PC.
  • πŸ“± Resumable Offline PWA & Background Fetch: Install Comics Now! to your iOS, iPadOS, Android, or desktop home screen. Queue comics with HTTP Range resumable transfers, and enjoy native Android Background Fetch so downloads keep running with the browser closed.
  • πŸ€– Google Gemini AI Vision & Multi-Source Tagging: Built-in enrichment engine querying ComicVine, Metron, GCD, Goodreads, Amazon, Google Books, and additional sources with perceptual cover hashing. Powered by Google Gemini AI Vision to visually identify issue numbers, series, publishers, and release years directly from cover art when standard scraping fails.
  • πŸ“ Configurable File & Folder Organization: Flexible 4-tab management panel with customizable token naming rules and folder hierarchy templates, with live preview and safe, type-to-confirm batch execution for entire libraries.
  • πŸ”Œ AI Model Context Protocol (MCP): Native Python MCP server exposing 13+ tools allowing Claude, Cursor, and Gemini to curate reading lists, inspect cover art, trigger guided view detection, reorganize directories, and query your collection with natural language.
  • πŸ›‘οΈ Cloudflare Zero Trust Ready: Zero open ports needed. Full integration with Cloudflare Access JWT authentication, granular user permissions (down to publisher and series), and admin impersonation.
  • πŸ“‚ Metadata Mode & Folder Mode: Organize your library by metadata tags (Publisher β†’ Series β†’ Issue) or mirror your physical directory tree directly.
  • πŸ’» Client-Side Local Reader: Drag and drop local CBZ/CBR files directly into the browser to read instantly with WebAssemblyβ€”no file upload required.

🎬 Showcase

AI Smart Guided ViewMulti-Device Reader
Guided View DemoFeature Demo
πŸ“Έ Click to view UI Screenshots
Library ViewSeries ViewComic Details
Reader ControlsGuided View PanelsReading Lists
Metadata InspectorTagger MatchesUser Settings

πŸš€ Quick Start (60 Seconds)

Option 1: Run Instantly with npx (No Setup Required)

# Point directly to your comic books folder
npx comics-now --comics /path/to/your/comics --port 3000

Or install globally:

npm install -g comics-now
comics-now --comics /path/to/your/comics

Option 2: Docker CLI

docker run -d \
  --name comics-now \
  -p 3000:3000 \
  -v $(pwd)/data:/app/data \
  -v /path/to/your/comics:/comics:ro \
  --restart unless-stopped \
  ghcr.io/comicsnow/comics-now:latest

Open http://localhost:3000 in your browser!


Option 2: Docker Compose

Save as docker-compose.yml:

services:
  comics-now:
    image: ghcr.io/comicsnow/comics-now:latest
    container_name: comics-now
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=production
      - DATA_DIR=/app/data
      - PORT=3000
    volumes:
      - ./data:/app/data
      - /path/to/your/comics:/comics:ro
    restart: unless-stopped

Launch with:

docker compose up -d

πŸ“– Complete Documentation & Wiki

Looking for detailed setup guides, configuration tables, or workflow deep dives? Check out our comprehensive documentation manual:

πŸ‘‰ Read the Full Comics Now! Wiki Manual

Manual Highlights:


πŸ€– Model Context Protocol (MCP) Integration

Comics Now! includes a built-in Python MCP server (mcp/) that lets your AI coding assistant or desktop agent manage your collection:

# Add to Claude Code
claude mcp add comics-now -- /path/to/comics-now/mcp/run.sh

# Or start directly
npm run mcp

What your AI agent can do:

  • πŸ” "Create a chronological reading list for the Infinity Gauntlet event across all my comics."
  • πŸ€– "Use Gemini AI Vision to inspect the cover of comic #412 and identify its canonical publisher, series, and year."
  • 🎨 "Inspect the cover of comic #412, verify the issue via web search, and tag the writer and artist."
  • πŸ“ "Trigger incremental guided view panel detection for the Batman (2016) series."
  • πŸ“ "Simulate file renaming and folder reorganization for my Marvel library using saved token rules."
  • πŸ“Š "Query SQLite for all unread Spider-Man comics published between 1985 and 1992."

(Read the MCP Architecture & Setup Guide for configuration details.)


πŸ› οΈ Bare Metal Installation

If you prefer running without Docker on Debian / Ubuntu / Raspberry Pi OS:

# 1. Install prerequisites
sudo apt update
sudo apt install -y nodejs npm python3 python3-pip python3-venv poppler-utils zip unrar

# 2. Clone repository & install dependencies
git clone https://github.com/ComicsNow/comics-now.git
cd comics-now
npm install
npm run build

# 3. Configure environment
cp .env.example .env

# 4. Start server
npm start

❀️ Support Comics Now!

If Comics Now! helps you enjoy and organize your comic book collection, consider buying a coffee to support continued development:

Support on Ko-fi


🀝 Contributing

Contributions, feature requests, and bug reports are warmly welcome!

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature/amazing-feature).
  3. Run automated tests (npm test).
  4. Commit your changes (git commit -m 'feat: add amazing feature').
  5. Push to your branch and open a Pull Request.

πŸ“„ License

Comics Now! is free and open-source software licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See the LICENSE file for details.

Languages

JavaScript

70.3%

Python

14.2%

HTML

12.3%

CSS

2.8%