53 lines
1.4 KiB
YAML
53 lines
1.4 KiB
YAML
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
|
|
|
|
|
|
|