x-arcane:
icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/kavita.svg
urls:
- https://wiki.kavitareader.com/installation/docker/
services:
kavita:
image: jvmilazz0/kavita:latest
restart: unless-stopped
ports:
- "${APP_PORT:-5000}:5000"
environment:
TZ: ${TZ:-Etc/UTC}
volumes:
- ${BASE_PATH}/config:/kavita/config
- ${BOOKS_PATH}:/books:ro
labels:
com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/kavita.svg
APP_PORT=5000
BASE_PATH=/data/compose/kavita
BOOKS_PATH=/data/media/books
TZ=Etc/UTC
README
Digital library server for comics, manga, and ebooks.
Deployment
Copy .env.example to .env (or enter its values in Arcane), set paths and credentials, and deploy compose.yaml. Open http://HOST:APP_PORT (default 5000). Use reachable hostnames or host IPs for services in other Compose projects; localhost inside a container refers to that container.
Create the administrator account on first access and add a library from /books. BOOKS_PATH is read-only; configuration, the database, and covers persist under ${BASE_PATH}/config.