88 lines
2.2 KiB
YAML
88 lines
2.2 KiB
YAML
|
|
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:
|