services: vikunja: image: vikunja/vikunja:latest environment: VIKUNJA_DATABASE_TYPE: postgres VIKUNJA_DATABASE_HOST: 10.0.4.10 VIKUNJA_DATABASE_USER: admin VIKUNJA_DATABASE_PASSWORD_FILE: /run/secrets/postgres-master VIKUNJA_DATABASE_DATABASE: vikunja VIKUNJA_SERVICE_PUBLICURL: https://tasks.frostlabs.me VIKUNJA_SERVICE_JWTSECRET_FILE: /run/secrets/vikunja-jwt # OIDC/SSO Configuration for Authentik OIDC_CLIENT_ID: fAkamae10Kz4QnqhAW2pqvyIEpCQWz9yiNVUEcNf OIDC_CLIENT_SECRET: FpLWS72MXH9vReiNEQFCxybUe4OOdiiNPmKNeg6iY7GICpLupF0CQaqqTEzPnwvrDUNEz9I2nwsI3BUP23AQ49ESquhn6d5IZfqRMVSKC7FTzVSLqkQzDCW5SkyJyo83 OIDC_AUTH_URI: https://auth.frostlabs.me/application/o/authorize/ OIDC_TOKEN_URI: https://auth.frostlabs.me/application/o/token/ OIDC_USERINFO_URI: https://auth.frostlabs.me/application/o/userinfo/ OIDC_LOGOUT_URI: https://auth.frostlabs.me/application/o/vikunja/end-session/ OIDC_USERNAME_CLAIM: preferred_username OIDC_DISPLAY_NAME: Authentik OIDC_SCOPES: openid profile email secrets: - postgres-master - vikunja-jwt volumes: - /home/doc/projects/swarm-data/appdata/vikunja/files:/app/vikunja/files - /home/doc/projects/swarm/swarm-production/stacks/apps/vikunja/config.yml:/etc/vikunja/config.yml:ro networks: - homelab # healthcheck: # test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:3456/api/v1/info"] # interval: 30s # timeout: 5s # retries: 3 # start_period: 30s deploy: replicas: 1 resources: limits: memory: 1G cpus: '1.0' reservations: memory: 512M labels: - "traefik.enable=true" - "traefik.http.routers.vikunja.rule=Host(`tasks.frostlabs.me`)" - "traefik.http.routers.vikunja.entrypoints=websecure" - "traefik.http.routers.vikunja.tls.certresolver=cloudflare" - "traefik.http.services.vikunja.loadbalancer.server.port=3456" - "traefik.swarm.network=homelab" networks: homelab: external: true secrets: postgres-master: external: true vikunja-jwt: external: true