Files
ws-sanctum-chronicler/docker-compose.yml

66 lines
1.7 KiB
YAML

version: '3.9'
services:
sanctum-db:
image: postgres:16-alpine
container_name: sanctum-db
environment:
POSTGRES_DB: sanctum
POSTGRES_USER: sanctum
POSTGRES_PASSWORD: ${DB_PASSWORD:-password}
volumes:
- sanctum_data:/var/lib/postgresql/data
ports:
- "5432:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U sanctum -d sanctum"]
interval: 10s
timeout: 5s
retries: 5
networks:
- sanctum-net
sanctum-agent:
build:
context: .
dockerfile: Dockerfile
container_name: sanctum-agent
depends_on:
sanctum-db:
condition: service_healthy
environment:
APP_NAME: "Sanctum Chronicler"
APP_ENV: ${APP_ENV:-development}
DEBUG: ${DEBUG:-false}
DATABASE_URL: postgresql+asyncpg://sanctum:${DB_PASSWORD:-password}@sanctum-db:5432/sanctum
TWITCH_CLIENT_ID: ${TWITCH_CLIENT_ID:-}
TWITCH_CLIENT_SECRET: ${TWITCH_CLIENT_SECRET:-}
TWITCH_BOT_USERNAME: ${TWITCH_BOT_USERNAME:-}
TWITCH_CHANNEL_NAME: ${TWITCH_CHANNEL_NAME:-}
LLM_PROVIDER: ${LLM_PROVIDER:-}
LLM_BASE_URL: ${LLM_BASE_URL:-}
LLM_API_KEY: ${LLM_API_KEY:-}
LLM_MODEL: ${LLM_MODEL:-gpt-3.5-turbo}
AGENT_LOOP_INTERVAL_SECONDS: ${AGENT_LOOP_INTERVAL_SECONDS:-60}
EXPORT_PATH: /app/exports
volumes:
- ./exports:/app/exports
ports:
- "8000:8000"
networks:
- sanctum-net
healthcheck:
test: ["CMD", "python", "-c", "import httpx; httpx.get('http://localhost:8000/health').raise_for_status()"]
interval: 30s
timeout: 3s
retries: 3
start_period: 10s
volumes:
sanctum_data:
driver: local
networks:
sanctum-net:
driver: bridge