Docker/Kavita/docker-compose.yaml

41 lines
1.6 KiB
YAML

version: "3"
services:
kavita:
image: jvmilazz0/kavita:latest # Using the stable branch from the offical repo.
container_name: kavita
volumes:
- ${KAVITA_DIR}:/kavita/config # /kavita/config must not be changed
- ${KAVITA_DATA_DIR}:/data
env_file:
- stack.env
ports:
- ${KAVITA_PORT_HTTP}:5000
restart: unless-stopped
labels:
- traefik.enable=true
# HTTP redirection to HTTPS
- traefik.http.routers.kavita.entrypoints=web
- traefik.http.routers.kavita.rule=Host(`${KAVITA_URL}`)
- traefik.http.middlewares.kavita-https-redirect.redirectscheme.scheme=https
- traefik.http.routers.kavita.middlewares=kavita-https-redirect
# HTTPS config
- traefik.http.routers.kavita-secure.entrypoints=websecure
- traefik.http.routers.kavita-secure.rule=Host(`${KAVITA_URL}`)
- traefik.http.routers.kavita-secure.tls=true
- traefik.http.routers.kavita-secure.tls.certresolver=myresolver
- traefik.http.services.kavita-secure.loadbalancer.server.port=5000
- traefik.docker.network=proxy
- homepage.group=Media
- homepage.name=Kavita
- homepage.icon=kavita.png
- homepage.href=https://${KAVITA_URL}
- homepage.description=Books, comics and mangas
- homepage.widget.type=kavita
- homepage.widget.url=https://${KAVITA_URL}
- homepage.widget.username=${KAVITA_API_USERNAME}
- homepage.widget.password=${KAVITA_API_PASSWORD}