72 lines
1.5 KiB
YAML
72 lines
1.5 KiB
YAML
services:
|
||
# -----------------------
|
||
# Database (PostgreSQL)
|
||
# -----------------------
|
||
postgres:
|
||
image: postgres:16-alpine
|
||
restart: unless-stopped
|
||
environment:
|
||
- POSTGRES_USER
|
||
- POSTGRES_PASSWORD
|
||
- POSTGRES_DB
|
||
volumes:
|
||
- postgres-data:/var/lib/postgresql/data
|
||
healthcheck:
|
||
test: "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"
|
||
interval: 10s
|
||
timeout: 5s
|
||
retries: 5
|
||
|
||
# -----------------------
|
||
# Conversation‑logging microservice
|
||
# -----------------------
|
||
db_service:
|
||
build:
|
||
context: ./db_service
|
||
restart: unless-stopped
|
||
environment:
|
||
- POSTGRES_USER
|
||
- POSTGRES_PASSWORD
|
||
- POSTGRES_DB
|
||
- POSTGRES_HOST
|
||
- LOG_TOKEN
|
||
depends_on:
|
||
postgres:
|
||
condition: service_healthy
|
||
ports:
|
||
- "8000:8000" # expose externally only if needed
|
||
|
||
|
||
matrix_service:
|
||
build: ./matrix_service
|
||
environment:
|
||
- MATRIX_HOMESERVER_URL
|
||
- MATRIX_USER_ID
|
||
- MATRIX_PASSWORD
|
||
- AI_HANDLER_URL
|
||
- AI_HANDLER_TOKEN
|
||
volumes:
|
||
- ./matrix_service:/app
|
||
- matrix_data:/app/data
|
||
depends_on:
|
||
- ai_service
|
||
|
||
ai_service:
|
||
build: ./ai_service
|
||
environment:
|
||
- OPENAI_API_KEY=${OPENAI_API_KEY}
|
||
- AI_HANDLER_TOKEN=${AI_HANDLER_TOKEN}
|
||
- REDIS_URL=redis://redis:6379
|
||
depends_on:
|
||
- redis
|
||
|
||
redis:
|
||
image: redis:7
|
||
restart: unless-stopped
|
||
volumes:
|
||
- redis-data:/data
|
||
|
||
volumes:
|
||
matrix_data:
|
||
redis-data:
|
||
postgres-data: |