41 lines
1.3 KiB
YAML
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:
|