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 BESZEL_BASE_URL: http://beszel:8090 BESZEL_ADMIN_EMAIL: ${BESZEL_ADMIN_EMAIL} BESZEL_ADMIN_PASSWORD: ${BESZEL_ADMIN_PASSWORD} UPTIME_KUMA_BASE_URL: http://uptime-kuma:3001 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} 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