# Chitai - eBook Library Management eBook library management application. - Backend built with Python and Litestar - Frontend built with Svelte 5 and SvelteKit Library Home Page ## Key Features * **Libraries:** Organize your eBooks into customizable libraries. * **Book Upload:** Easily upload eBook files in common formats, with automatic metadata extraction. * **Personalized Bookshelves:** Create and manage custom bookshelves (lists) within your libraries to categorize your eBooks. * **Built-in Readers:** Integrated readers for EPUB and PDF files. * **Progress Tracking:** Monitor your reading progress within each book. * **Search Functionality:** Quickly find books based on title. ## Getting Started ### Prerequisites * Docker * Docker Compose * (Optional) A text editor for modifying the `.env` file. ### Installation (Production Deployment) 1. Clone the repository: `git clone https://git.jaroszew.ski/patrick/chitai.git` 2. Navigate to the project root: `cd chitai` 3. Copy the example environment file: `cp .env.prod-example .env` 4. Edit `.env`. At minimum set `CHITAI_TOKEN_SECRET` to something random, and set `CHITAI_ORIGIN` to the URL you will reach the app on — logging in fails with a 403 if it does not match. Pin `CHITAI_VERSION` to a release tag if you would rather not track `latest`. 5. Pull the released images: `docker compose pull` 6. Run the Docker containers in detached mode: `docker compose up -d` 7. Access the frontend at: `http://localhost:3000/` To build the images from source instead of pulling them, run `docker compose build` in place of step 5. ## Development ### NixOS Development Environment To utilize the NixOS development environment: 1. Navigate to the project root in your terminal: `cd chitai` 2. Enter the Nix shell: `nix-shell` Docker development containers are planned for a future release.