services: suwayomi: image: ghcr.io/suwayomi/tachidesk:latest restart: unless-stopped networks: - default - reverse_proxy environment: - TZ=America/Santiago # Comment these out if you do not use the flaresolverr container at the bottom of this file - FLARESOLVERR_ENABLED=true - FLARESOLVERR_URL=http://tasks.flaresolverr:8191 volumes: - suwayomi_downloads:/home/suwayomi/.local/share/Tachidesk/downloads - suwayomi_data:/home/suwayomi/.local/share/Tachidesk deploy: rollback_config: failure_action: continue update_config: delay: 2s failure_action: rollback order: start-first placement: constraints: - node.labels.services_kind==${SERVICE_KIND:-common} labels: - traefik.enable=true - traefik.http.routers.suwayomi.rule=Host(`suwayomi.alecodes.page`) - traefik.http.services.suwayomi.loadbalancer.server.port=4567 flaresolverr: image: ghcr.io/flaresolverr/flaresolverr:latest environment: - TZ=America/Santiago restart: unless-stopped kavita: image: lscr.io/linuxserver/kavita:latest restart: unless-stopped networks: - default - reverse_proxy volumes: - suwayomi_downloads:/suwayomi - kavita_manga:/manga - kavita_comics:/comics - kavita_books:/books - kavita_config:/config environment: - TZ=America/Santiago - DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true - PUID=1000 - PGID=1000 deploy: rollback_config: failure_action: continue update_config: delay: 2s failure_action: rollback order: start-first placement: constraints: - node.labels.services_kind==${SERVICE_KIND:-common} labels: - traefik.enable=true - traefik.http.routers.kavita.rule=Host(`kavita.alecodes.page`) - traefik.http.services.kavita.loadbalancer.server.port=5000 networks: reverse_proxy: external: true volumes: suwayomi_data: suwayomi_downloads: kavita_config: kavita_manga: kavita_comics: kavita_books: