services: app: build: . ports: - "8000:8000" environment: - DATABASE_URL=postgresql://postgres:postgres@db:5432/fitbit_garmin_sync - FITBIT_CLIENT_ID=${FITBIT_CLIENT_ID:-} - FITBIT_CLIENT_SECRET=${FITBIT_CLIENT_SECRET:-} - FITBIT_REDIRECT_URI=${FITBIT_REDIRECT_URI:-http://localhost:8000/api/setup/fitbit/callback} depends_on: - db volumes: - ./logs:/app/logs # For application logs - .:/app # Mount source code for development command: uvicorn main:app --host 0.0.0.0 --port 8000 --reload develop: watch: - action: sync path: . target: /app ignore: - .git - .venv - .gemini - __pycache__ - "**/__pycache__" - docker/data - action: rebuild path: requirements.txt db: image: ghcr.io/sstent/nomad-pgsql-patroni:latest environment: - PATRONI_CONFIG_FILE=/secrets/patroni.yml # PGDATA and other env vars from Nomad, though patroni.yml handles most - PGDATA=/store/data ports: - "5433:5432" depends_on: - consul volumes: - ./docker/data:/store/data - ./docker/patroni.yml:/secrets/patroni.yml consul: image: hashicorp/consul:1.15 ports: - "8500:8500" command: agent -dev -client 0.0.0.0