services: dashboard: image: ${DASHBOARD_IMAGE} container_name: kallilab-dashboard restart: unless-stopped environment: APP_ENV: production APP_HOST: 0.0.0.0 APP_PORT: 8000 APP_LOG_LEVEL: INFO APP_TIMEZONE: Europe/Berlin APP_NAME: Homelab Dashboard API APP_VERSION: 0.1.0 CORS_ALLOW_ORIGINS: '["https://dashboard.kaleschke.info"]' REQUEST_TIMEOUT_SECONDS: 5.0 CACHE_TTL_OVERVIEW_SECONDS: 15 CACHE_TTL_SYSTEM_SECONDS: 15 CACHE_TTL_SERVICES_SECONDS: 15 CACHE_TTL_STORAGE_SECONDS: 30 UPTIME_KUMA_BASE_URL: http://uptime-kuma:3001 UPTIME_KUMA_API_KEY: ${UPTIME_KUMA_API_KEY} UPTIME_KUMA_USERNAME: ${UPTIME_KUMA_USERNAME} UPTIME_KUMA_PASSWORD: ${UPTIME_KUMA_PASSWORD} HOME_ASSISTANT_BASE_URL: ${HOME_ASSISTANT_BASE_URL} HOME_ASSISTANT_TOKEN: ${HOME_ASSISTANT_TOKEN} ADGUARD_BASE_URL: http://adguard:80 ADGUARD_USERNAME: ${ADGUARD_USERNAME} ADGUARD_PASSWORD: ${ADGUARD_PASSWORD} SCRUTINY_BASE_URL: http://scrutiny:8080 IMMICH_BASE_URL: http://immich_server:2283 IMMICH_API_KEY: ${IMMICH_API_KEY} BACKREST_BASE_URL: http://backrest:9898 BACKREST_USERNAME: ${BACKREST_USERNAME} BACKREST_PASSWORD: ${BACKREST_PASSWORD} networks: - frontend_net security_opt: - no-new-privileges:true labels: - traefik.enable=true - traefik.docker.network=frontend_net - traefik.http.routers.dashboard.rule=Host(`dashboard.kaleschke.info`) - traefik.http.routers.dashboard.entrypoints=websecure - traefik.http.routers.dashboard.tls=true - traefik.http.routers.dashboard.tls.certresolver=le - traefik.http.routers.dashboard.middlewares=authelia@file,secure-headers@file - traefik.http.services.dashboard.loadbalancer.server.port=8000 networks: frontend_net: external: true