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}