services: app: build: context: . dockerfile: Dockerfile image: vault-dash:dev ports: - "8000:8000" environment: APP_ENV: development APP_HOST: 0.0.0.0 APP_PORT: 8000 LOG_LEVEL: DEBUG REDIS_URL: redis://redis:6379/0 CACHE_TTL: 300 DEFAULT_SYMBOL: GLD NICEGUI_STORAGE_SECRET: vault-dash-dev-secret UVICORN_WORKERS: 1 RUN_MIGRATIONS: 0 volumes: - ./app:/app/app - ./config:/app/config depends_on: redis: condition: service_healthy 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: 3 start_period: 20s restart: unless-stopped redis: image: redis:7-alpine command: ["redis-server", "--save", "", "--appendonly", "no"] ports: - "6379:6379" volumes: - redis-data:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 3s retries: 5 restart: unless-stopped volumes: redis-data: