Files
jury-rigged/docker-compose.yml
2026-02-28 19:51:49 -06:00

56 lines
1.7 KiB
YAML

services:
db:
image: postgres:16-alpine
container_name: juryrigged-db
restart: unless-stopped
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-change_this_now}
POSTGRES_DB: juryrigged
ports:
- '127.0.0.1:55432:5432'
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U postgres -d juryrigged']
interval: 5s
timeout: 5s
retries: 10
networks:
- internal
api:
build:
context: .
dockerfile: Dockerfile
container_name: juryrigged-api
restart: unless-stopped
depends_on:
db:
condition: service_healthy
environment:
PORT: 3001
TRUST_PROXY: ${TRUST_PROXY:-1}
DATABASE_URL: postgresql://postgres:${POSTGRES_PASSWORD:-change_this_now}@db:5432/juryrigged
OPENROUTER_API_KEY: ${OPENROUTER_API_KEY:-}
LLM_MODEL: ${LLM_MODEL:-deepseek/deepseek-chat-v3-0324:free}
LLM_MOCK: ${LLM_MOCK:-false}
LOG_LEVEL: ${LOG_LEVEL:-info}
TTS_PROVIDER: ${TTS_PROVIDER:-noop}
BROADCAST_PROVIDER: ${BROADCAST_PROVIDER:-noop}
VERDICT_VOTE_WINDOW_MS: ${VERDICT_VOTE_WINDOW_MS:-20000}
SENTENCE_VOTE_WINDOW_MS: ${SENTENCE_VOTE_WINDOW_MS:-20000}
ports:
- '127.0.0.1:${API_HOST_PORT:-3001}:3001'
networks:
- internal
- web
volumes:
postgres_data:
networks:
internal:
web:
driver: bridge