services: languagetool: image: silviof/docker-languagetool:latest container_name: structural-rewrite-languagetool ports: - "8010:8010" environment: langtool_pipelinePrewarming: "true" restart: unless-stopped healthcheck: test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:8010/v2/languages >/dev/null || exit 1"] interval: 30s timeout: 10s retries: 5 start_period: 90s plainrewrite: build: . container_name: structural-rewrite-api ports: - "7860:7860" environment: HOST: "0.0.0.0" PORT: "7860" APP_TITLE: "ZuZu Writer" SPACY_MODEL: "en_core_web_sm" SUPABASE_URL: ${SUPABASE_URL:-} SUPABASE_ANON_KEY: ${SUPABASE_ANON_KEY:-} SUPABASE_SERVICE_ROLE_KEY: ${SUPABASE_SERVICE_ROLE_KEY:-} SUPABASE_JWT_SECRET: ${SUPABASE_JWT_SECRET:-} MAX_CHARS: ${MAX_CHARS:-1000000} ENGINE_BATCH_PARAS: ${ENGINE_BATCH_PARAS:-20} ENGINE_MIN_CONFIDENCE: ${ENGINE_MIN_CONFIDENCE:-0.55} ENGINE_SAFETY_MIN: ${ENGINE_SAFETY_MIN:-0.80} # Use the compose sidecar (don't also start embedded LT inside the app image) LANGUAGE_TOOL_EMBEDDED: "false" LANGUAGE_TOOL_URL: ${LANGUAGE_TOOL_URL:-http://languagetool:8010} LANGUAGE_TOOL_LANGUAGE: ${LANGUAGE_TOOL_LANGUAGE:-en-US} LANGUAGE_TOOL_ENABLED: ${LANGUAGE_TOOL_ENABLED:-true} LANGUAGE_TOOL_TIMEOUT: ${LANGUAGE_TOOL_TIMEOUT:-30} depends_on: languagetool: condition: service_healthy restart: unless-stopped