This branch is 2 commits behind FrederikBaerentsen/ComicOPDS:master
2025-10-16 18:52:02 +02:00
2025-09-15 21:30:03 +02:00
2025-09-09 11:15:23 +02:00
2025-09-09 21:11:55 +02:00
2025-09-12 20:42:58 +02:00
2025-09-04 21:10:52 +02:00

📚 ComicOPDS

ComicOPDS is a lightweight OPDS 1.2 server written in Python, designed for serving CBZ comics with metadata extracted from ComicInfo.xml.

It's optimized for large libraries (10k100k+ comics), supports FastAPI + SQLite + FTS5 search, thumbnail caching, and streaming (OPDS PSE 1.1).

Works great with Panels for iOS and other OPDS readers.


Features

  • 📂 Browse your folder hierarchy
  • 🔍 Full-text search (title, series, writer, publisher, year, etc.)
  • 📥 Download comics (CBZ)
  • 📖 Page streaming (OPDS PSE 1.1)
  • 🖼️ Thumbnail extraction & caching (from CBZ covers)
  • 📊 Dashboard with stats & charts
  • 🧠 Smart Lists (saved search filters)
  • 🔐 Optional Basic Auth
  • 🐋 Runs easily with Docker / Docker Compose
  • Fast indexing with SQLite FTS5
  • 🔄 File system watching for auto-updates
  • 📱 Mobile-optimized dashboard

Buy Me A Coffee


📱 Clients

Supported Clients

App Downloads Search Streaming
Panels (iOS) ✔️ ✔️ ✔️
KyBook 3 (iOS) ✔️ ✔️
Cantook (iOS) ✔️
Marvin 3 (iOS) ✔️
Chunky (iOS) ✔️

📋 Documentation


💪 Stress Test

ComicOPDS has been stress tested using 170k+ CBZ files generated using CBZGenerator.

Performance Results:

  • Initial scan: ~10 minutes for full library indexing
  • Thumbnail generation: ~30 minutes (depending on hardware)
  • Hardware: Tested on low-powered Intel N100 CPU with no performance issues
  • Search: Very fast response times with SQLite FTS5 even at this scale

The server remains responsive during indexing and handles concurrent OPDS requests without degradation. Memory usage stays reasonable even with large libraries.



Made with ❤️ for comic book enthusiasts

Description
ComicOPDS is a lightweight OPDS server written in Python, designed for serving CBZ comics with metadata extracted from ComicInfo.xml. It's optimized for large libraries, supports FastAPI + SQLite + FTS5 search, thumbnail caching, and streaming (OPDS PSE 1.1).
Readme 2.5 MiB
Languages
Python 67.2%
HTML 28.9%
Jinja 3.3%
Dockerfile 0.6%