Kavita with Docker Compose
Kavita is a self-hosted manga, comic, and ebook server that runs as a single Docker container on port 5000, with a config volume for its SQLite database and one volume per library folder. Use the Compose file below to self-host it, or deploy it in one click on Hostim with storage and HTTPS already wired up.
Before using the one-click template, here is a minimal Docker Compose file for self-hosting Kavita.
If you're new to Docker Compose, check out our guide on how to self-host a Docker Compose app. You can also browse more examples in our Docker Compose library.
Self-host Kavita with Docker Compose (minimal)
services:
kavita:
image: ghcr.io/kareadita/kavita:latest
ports:
- "5000:5000"
volumes:
- kavita-config:/kavita/config
- manga:/manga
- comics:/comics
- books:/books
volumes:
kavita-config:
manga:
comics:
books:
Deploy Kavita on Hostim.dev (One-Click)
Kavita is an open-source, self-hosted manga, comic, and book server that lets you manage and read your digital library from any device. With Hostim.dev, you can deploy Kavita with Docker and persistent storage in one click, complete with automatic domain and HTTPS.
📚 Organize and read your digital library anywhere. No subscriptions. No limits.
Guest project runs for 1 hour. Log in to save and extend to 5 days.
Why Host Kavita on Hostim.dev?
- One-click Docker deployment
- Persistent volumes
- Automatic HTTPS + domain
- Real-time logs and metrics
- Full control over your library
What's included
| Resource | Details |
|---|---|
| App | ghcr.io/kareadita/kavita:latest |
| Volumes | /manga, /comics, /books, /kavita/config |
| Domain | Free *.hostim.dev subdomain |
| SSL | Let’s Encrypt (auto-enabled) |
| Port | 5000 |
How to Deploy
- Go to your Hostim.dev dashboard.
- Click Create Project → Use a Template.
- Select Kavita.
- Choose a resource plan.
- Deploy.
Frequently asked questions
How do I self-host Kavita with Docker Compose?
Run the 'ghcr.io/kareadita/kavita:latest' image, publish port 5000, and mount four volumes: '/kavita/config' for settings and the database, plus '/manga', '/comics' and '/books' for your library files. Start it with 'docker compose up -d', then open http://localhost:5000 and create the admin account.
What port does Kavita run on?
Kavita listens on port 5000 inside the container. In the Compose file above it is published as '5000:5000', so it is reachable at http://localhost:5000. Change the left-hand number if port 5000 is already taken on your host.
Where does Kavita store configuration and metadata?
All settings, user accounts, reading progress, and library metadata are stored in '/kavita/config'. Mount that path as a named volume or the data is lost when the container is recreated.
Does Kavita require a database?
No separate database service is needed. Kavita uses SQLite, and the database file lives inside the '/kavita/config' volume alongside the rest of its state.
Where should I upload my library files?
Upload into the volume that matches the content type: '/manga', '/comics', or '/books'. You can bind-mount host directories instead of named volumes if your files already live on disk.
How does library scanning work?
Kavita scans the mounted library folders for new files and updates the library automatically. You can also trigger a scan manually from the Kavita UI under Server Settings.
Can I run Kavita behind a reverse proxy?
Yes. Forward traffic to port 5000 and pass the standard proxy headers. On Hostim the reverse proxy, subdomain, and Let's Encrypt certificate are configured automatically.
How do I add additional libraries?
Mount another volume in the Compose file for the new folder, then add its path in the Kavita UI under Server Settings → Libraries and pick the matching library type.
How do I back up Kavita?
Back up the '/kavita/config' volume, which holds the SQLite database and all settings, together with your media folders. Restoring both to a fresh container brings back the full library.
How do I update Kavita?
With Docker Compose, run 'docker compose pull && docker compose up -d' to fetch the latest image and recreate the container. On Hostim, redeploy the app — the data volumes are kept intact.
Alternatives
- Komga — comic/manga reader with similar features
- Calibre Web — ebook library management
- Ubooquity — lightweight comics/ebooks server
Source + Docs
- GitHub: https://github.com/Kareadita/Kavita
- Documentation: https://wiki.kavitareader.com
Looking for something else? Browse all templates →