You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.7 KiB
YAML
64 lines
1.7 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
postgres:
|
|
image: postgres:15-alpine
|
|
container_name: orquestrador_postgres
|
|
environment:
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: postgres
|
|
POSTGRES_DB: orquestrador
|
|
ports:
|
|
- "5432:5432"
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: orquestrador_redis
|
|
ports:
|
|
- "6379:6379"
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
app:
|
|
build: .
|
|
container_name: orquestrador_app
|
|
ports:
|
|
- "8000:8080"
|
|
environment:
|
|
GOOGLE_PROJECT_ID: ${GOOGLE_PROJECT_ID}
|
|
GOOGLE_LOCATION: ${GOOGLE_LOCATION:-us-central1}
|
|
DB_HOST: postgres
|
|
DB_PORT: 5432
|
|
DB_USER: postgres
|
|
DB_PASSWORD: postgres
|
|
DB_NAME: orquestrador
|
|
MOCKAROO_API_KEY: ${MOCKAROO_API_KEY}
|
|
MOCKAROO_BASE_URL: ${MOCKAROO_BASE_URL:-https://my.api.mockaroo.com}
|
|
USE_MOCKAROO_WRITES: ${USE_MOCKAROO_WRITES:-false}
|
|
CONVERSATION_STATE_BACKEND: ${CONVERSATION_STATE_BACKEND:-redis}
|
|
CONVERSATION_STATE_TTL_MINUTES: ${CONVERSATION_STATE_TTL_MINUTES:-60}
|
|
REDIS_URL: ${REDIS_URL:-redis://redis:6379/0}
|
|
REDIS_KEY_PREFIX: ${REDIS_KEY_PREFIX:-orquestrador}
|
|
REDIS_SOCKET_TIMEOUT_SECONDS: ${REDIS_SOCKET_TIMEOUT_SECONDS:-5}
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
volumes:
|
|
- .:/app
|
|
command: uvicorn app.main:app --host 0.0.0.0 --port 8080 --reload
|
|
|
|
volumes:
|
|
postgres_data:
|