Updated service configurations, added new services, removed deprecated ones, and improved gitignore patterns for better repository hygiene. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
61 lines
2.5 KiB
YAML
61 lines
2.5 KiB
YAML
services:
|
|
komga:
|
|
image: gotson/komga:latest
|
|
container_name: komga
|
|
environment:
|
|
- TZ=${TZ}
|
|
- PUID=${APP_USER_ID}
|
|
- PGID=${APP_GROUP_ID}
|
|
- SERVER_PORT=${KOMGA_PORT}
|
|
# Kobo/KOReader support
|
|
- KOMGA_KOBO_PROXY=false
|
|
volumes:
|
|
- ./config:/config
|
|
- /mnt/media/books:/books
|
|
- /mnt/media/bookdrop:/bookdrop
|
|
restart: unless-stopped
|
|
networks:
|
|
- homelab
|
|
labels:
|
|
# Traefik
|
|
traefik.enable: true
|
|
traefik.docker.network: homelab
|
|
|
|
# Middleware for Kobo sync support - increased buffer sizes
|
|
traefik.http.middlewares.komga-buffering.buffering.maxRequestBodyBytes: 268435456
|
|
traefik.http.middlewares.komga-buffering.buffering.memRequestBodyBytes: 268435456
|
|
traefik.http.middlewares.komga-buffering.buffering.retryExpression: IsNetworkError() && Attempts() < 3
|
|
traefik.http.middlewares.komga-headers.headers.customrequestheaders.X-Forwarded-Proto: https
|
|
|
|
# Authelia middleware for /api and /opds endpoints (main web UI)
|
|
traefik.http.middlewares.komga-auth.forwardauth.address: http://authelia:9091/api/authz/forward-auth
|
|
traefik.http.middlewares.komga-auth.forwardauth.trustForwardHeader: true
|
|
traefik.http.middlewares.komga-auth.forwardauth.authResponseHeaders: Remote-User,Remote-Groups,Remote-Name,Remote-Email
|
|
|
|
# Kobo router - NO Authelia (uses Kobo's built-in auth) - Higher priority to match first
|
|
traefik.http.routers.komga-kobo.rule: Host(`${TRAEFIK_HOST}`) && PathPrefix(`/kobo`)
|
|
traefik.http.routers.komga-kobo.entrypoints: websecure
|
|
traefik.http.routers.komga-kobo.tls.certresolver: letsencrypt
|
|
traefik.http.routers.komga-kobo.middlewares: komga-buffering,komga-headers
|
|
traefik.http.routers.komga-kobo.service: komga
|
|
traefik.http.routers.komga-kobo.priority: 100
|
|
|
|
# Main router for web UI - NO Authelia for initial setup
|
|
traefik.http.routers.komga.rule: Host(`${TRAEFIK_HOST}`)
|
|
traefik.http.routers.komga.entrypoints: websecure
|
|
traefik.http.routers.komga.tls.certresolver: letsencrypt
|
|
traefik.http.routers.komga.middlewares: komga-buffering,komga-headers
|
|
traefik.http.routers.komga.service: komga
|
|
traefik.http.routers.komga.priority: 50
|
|
|
|
# Service definition
|
|
traefik.http.services.komga.loadbalancer.server.port: ${KOMGA_PORT}
|
|
|
|
# Homarr Discovery
|
|
homarr.name: Komga
|
|
homarr.group: Services
|
|
homarr.icon: mdi:book-open-variant
|
|
|
|
networks:
|
|
homelab:
|
|
external: true
|