services: vault-dash: image: ${APP_IMAGE} container_name: vault-dash restart: unless-stopped env_file: - .env environment: APP_ENV: ${APP_ENV:-production} REDIS_URL: ${REDIS_URL:-} APP_NAME: ${APP_NAME:-Vault Dashboard} DEFAULT_SYMBOL: ${DEFAULT_SYMBOL:-GLD} CACHE_TTL: ${CACHE_TTL:-300} WEBSOCKET_INTERVAL_SECONDS: ${WEBSOCKET_INTERVAL_SECONDS:-5} NICEGUI_MOUNT_PATH: ${NICEGUI_MOUNT_PATH:-/} NICEGUI_STORAGE_SECRET: ${NICEGUI_STORAGE_SECRET} CORS_ORIGINS: ${CORS_ORIGINS:-*} TURNSTILE_SITE_KEY: ${TURNSTILE_SITE_KEY:-} TURNSTILE_SECRET_KEY: ${TURNSTILE_SECRET_KEY:-} ports: - "${APP_BIND_ADDRESS:-127.0.0.1}:${APP_PORT:-8000}:8000" networks: - default - proxy-net volumes: - vault-dash-data:/app/data healthcheck: test: [ "CMD", "python", "-c", "import sys, urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/health', timeout=3); sys.exit(0)", ] interval: 30s timeout: 5s retries: 5 start_period: 20s networks: proxy-net: external: true volumes: vault-dash-data: