46 lines
1.2 KiB
YAML
46 lines
1.2 KiB
YAML
services:
|
|
db:
|
|
image: postgres:16-alpine
|
|
environment:
|
|
POSTGRES_USER: ${POSTGRES_USER:-gost}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-gost}
|
|
POSTGRES_DB: ${POSTGRES_DB:-gost}
|
|
volumes:
|
|
- pgdata:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-gost}"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
restart: unless-stopped
|
|
|
|
api:
|
|
build: ./backend
|
|
environment:
|
|
DATABASE_URL: postgresql+psycopg://${POSTGRES_USER:-gost}:${POSTGRES_PASSWORD:-gost}@db:5432/${POSTGRES_DB:-gost}
|
|
API_TOKEN: ${API_TOKEN:-changeme}
|
|
DATA_DIR: /data
|
|
OPENROUTER_BASE_URL: ${OPENROUTER_BASE_URL:-https://openrouter.ai/api/v1}
|
|
OPENROUTER_API_KEY: ${OPENROUTER_API_KEY:-}
|
|
OPENROUTER_MODEL: ${OPENROUTER_MODEL:-deepseek/deepseek-chat}
|
|
OPENROUTER_PROXY: ${OPENROUTER_PROXY:-}
|
|
LLM_MAX_CONTEXT_ROWS: ${LLM_MAX_CONTEXT_ROWS:-80}
|
|
CORS_ORIGINS: ${CORS_ORIGINS:-*}
|
|
volumes:
|
|
- ./data:/data
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
|
|
web:
|
|
build: ./frontend
|
|
ports:
|
|
- "${HTTP_PORT:-8080}:80"
|
|
depends_on:
|
|
- api
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
pgdata:
|