Go to file
Ivo Oskamp f3f9d45d2b Fix CBZ path, add download endpoint, rewrite TECHNICAL.md
- Fix CBZ extension: common.make_rel_path now accepts ext param;
  CBZ files are stored as comics/{author}/{title}.cbz instead of .cbr;
  library.py import passes actual file suffix
- Add GET /download/{filename} endpoint (was 404, referenced in book.html)
- TECHNICAL.md fully rewritten: File Storage Paths section with exact
  path patterns per format, complete endpoint lists for all routers
  including settings.py (previously undocumented), metadata save
  behaviour table, updated Known Bugs Fixed

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 08:53:50 +01:00
containers/novela Fix CBZ path, add download endpoint, rewrite TECHNICAL.md 2026-03-25 08:53:50 +01:00
docs Fix CBZ path, add download endpoint, rewrite TECHNICAL.md 2026-03-25 08:53:50 +01:00
stack Standardize remaining UI/config text to English 2026-03-22 19:46:48 +01:00
.gitignore Update gitignore for local and Python cache files 2026-03-22 16:14:05 +01:00
build-and-push.sh Bootstrap Novela 2.0 implementation and docs 2026-03-22 16:13:45 +01:00
README.md Add AI-assisted development disclaimer to README 2026-03-22 19:40:29 +01:00

Novela

Novela is a self-hosted web application for managing and reading a personal digital library. It supports EPUB, PDF, and CBR/CBZ, with metadata editing, reading progress tracking, and Dropbox backups.

What Novela Provides

  • Library import and indexing for EPUB/PDF/CBR/CBZ
  • Home dashboard with continue reading and unread/read sections
  • Reader support for EPUB, PDF, and comics (CBR/CBZ)
  • Metadata editing (title, author, publisher, series, volume, tags, genres)
  • New review workflow with list/grid view, column toggles, and bulk actions
  • Reading analytics/statistics dashboard
  • Dropbox backup with:
    • versioned snapshots
    • object deduplication
    • retention policy
    • scheduled background runs

Tech Stack

  • FastAPI
  • Jinja2 templates + vanilla JavaScript
  • PostgreSQL 16
  • Docker / Docker Compose style deployment

Repository Layout

  • containers/novela/ - application code (routers, templates, static assets, migrations)
  • stack/ - deployment stack files and environment configuration
  • docs/ - technical status and changelog documentation
  • build-and-push.sh - helper script for container build/push

Quick Start (Development)

  1. Configure environment values in stack/novela.env.
  2. Start the stack using your preferred Docker workflow (Compose/Portainer stack).
  3. Open the app and complete backup credential setup on /backup if needed.

Key Environment Variables

  • POSTGRES_DB
  • POSTGRES_USER
  • POSTGRES_PASSWORD
  • NOVELA_MASTER_KEY
  • CONFIG_DIR
  • LIBRARY_DIR (optional override)

Documentation

  • Technical status: docs/TECHNICAL.md
  • Develop changelog: docs/changelog-develop.md

Disclaimer

This project was developed entirely with AI-assisted implementation workflows. Use it at your own discretion and responsibility, and validate behavior, security, and data handling for your environment before production use.

Status

This repository is actively evolving. The develop documentation reflects implemented behavior in the current codebase.