7a04c162aff9be18916b718837641ed1a67315d1
📚 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 (10k–100k+ 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
📋 Documentation
- Quick Start
- Configuration
- API Documentation
- Dashboard
- Smart Lists
- Search
- Client Setup
- Troubleshooting
- License
📱 Clients
Supported Clients
| App | Downloads | Search | Streaming |
|---|---|---|---|
| KyBook 3 (iOS) | ✔️ | ✔️ | ❌ |
| Cantook (iOS) | ✔️ | ❌ | ❌ |
| Panels (iOS) | ✔️ | ✔️ | ✔️ |
| Marvin 3 (iOS) | ✔️ | ❌ | ❌ |
| Chunky (iOS) | ✔️ | ❌ | ❌ |
Panels for iOS
- Open Panels → Library → Connect Service → OPDS
- URL: Your OPDS root (e.g.,
https://comics.example.com/) - Username/Password: If you enabled Basic Auth
- Panels will display covers and use your folder structure for browsing
Client-Specific Notes
- Some clients work better with smaller
PAGE_SIZE(e.g., 25 instead of 50) - Page streaming (PSE 1.1) requires client support
- Thumbnail quality may vary between clients
🔗 Links
- Repository: Gitea
- OPDS Specification: OPDS 1.2
- OPDS Page Streaming Extension: OPDS PSE 1.1
- Buy Me a Coffee: frederikb
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).
Languages
Python
67.2%
HTML
28.9%
Jinja
3.3%
Dockerfile
0.6%