54 lines
2.0 KiB
Markdown
54 lines
2.0 KiB
Markdown
# 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.
|