fleet-platform/docker-compose.dev.yml

88 lines
2.2 KiB
YAML
Raw Permalink Normal View History

name: fleet-platform-dev
services:
db:
image: timescale/timescaledb-ha:pg16
environment:
POSTGRES_DB: ${POSTGRES_DB:-fleet}
POSTGRES_USER: ${POSTGRES_USER:-fleet}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
ports:
- "5432:5432"
volumes:
- db_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER}"]
interval: 5s
timeout: 3s
retries: 10
pgbouncer:
image: edoburu/pgbouncer:latest
environment:
DB_HOST: db
DB_PORT: 5432
DB_USER: ${POSTGRES_USER:-fleet}
DB_PASSWORD: ${POSTGRES_PASSWORD}
DB_NAME: ${POSTGRES_DB:-fleet}
POOL_MODE: transaction
AUTH_TYPE: scram-sha-256
ports:
- "6432:6432"
depends_on:
db:
condition: service_healthy
platform-gateway:
build:
context: .
args:
GIT_SHA: dev
image: fleet-platform:dev
environment:
APP_ROLE: gateway
APP_MODE: dev
DATABASE_URL: postgresql://${POSTGRES_USER:-fleet}:${POSTGRES_PASSWORD}@pgbouncer:6432/${POSTGRES_DB:-fleet}
JWT_SECRET: ${JWT_SECRET}
TRACKSOLID_PUSH_TOKEN: ${TRACKSOLID_PUSH_TOKEN}
ports:
- "8001:8000"
volumes:
- ./app:/srv/app/app
depends_on:
pgbouncer:
condition: service_started
command: ["uvicorn", "app.entrypoints.gateway:app", "--host", "0.0.0.0", "--port", "8000", "--reload", "--reload-dir", "/srv/app/app"]
platform-worker:
image: fleet-platform:dev
environment:
APP_ROLE: worker
APP_MODE: dev
DATABASE_URL: postgresql://${POSTGRES_USER:-fleet}:${POSTGRES_PASSWORD}@pgbouncer:6432/${POSTGRES_DB:-fleet}
ports:
- "8002:8000"
volumes:
- ./app:/srv/app/app
depends_on:
pgbouncer:
condition: service_started
platform-cron:
image: fleet-platform:dev
environment:
APP_ROLE: cron
APP_MODE: dev
DATABASE_URL: postgresql://${POSTGRES_USER:-fleet}:${POSTGRES_PASSWORD}@pgbouncer:6432/${POSTGRES_DB:-fleet}
TRACKSOLID_API_BASE_URL: ${TRACKSOLID_API_BASE_URL}
ports:
- "8003:8000"
volumes:
- ./app:/srv/app/app
depends_on:
pgbouncer:
condition: service_started
volumes:
db_data: