LLM-translator/compose.yml

41 lines
1.3 KiB
YAML

services:
translator:
build:
context: .
dockerfile: Dockerfile
image: llm-translator:local
init: true
restart: unless-stopped
stop_grace_period: 3m10s
ports:
- "${APP_PORT:-8000}:8000"
environment:
DATABASE_PATH: /app/data/translator.db
JWT_SECRET_FILE: /app/data/.jwt-secret
JWT_SECRET_KEY: "${JWT_SECRET_KEY:-}"
JWT_EXPIRE_HOURS: "${JWT_EXPIRE_HOURS:-24}"
LLMS_CONFIG_PATH: /app/config/llms.json
USERS_CONFIG_PATH: /app/config/users.json
LLM_TIMEOUT_SECONDS: "${LLM_TIMEOUT_SECONDS:-180}"
TRANSLATION_CHUNK_CHARS: "${TRANSLATION_CHUNK_CHARS:-1500}"
BOOTSTRAP_ADMIN_ID: "${BOOTSTRAP_ADMIN_ID:-}"
BOOTSTRAP_ADMIN_PASSWORD: "${BOOTSTRAP_ADMIN_PASSWORD:-}"
volumes:
- translator-data:/app/data
- type: bind
source: ./config/llms.json
target: /app/config/llms.json
read_only: true
- type: bind
source: ./config/users.docker.json
target: /app/config/users.json
read_only: true
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/api/health/ready', timeout=4).close()"]
interval: 30s
timeout: 5s
start_period: 20s
retries: 3
volumes:
translator-data: