# 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` ## Status This repository is actively evolving. The develop documentation reflects implemented behavior in the current codebase.