--- services: app: image: libretranslate/libretranslate:v1.9.6 networks: - proxy tty: true configs: - source: entrypoint target: /app/scripts/custom-entrypoint.sh mode: 0555 secrets: - source: metrics_auth_token mode: 0444 deploy: restart_policy: condition: on-failure labels: - "traefik.enable=true" - "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=5000" - "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`)" - "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure" - "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}" ## Redirect HTTP to HTTPS - "traefik.http.middlewares.${STACK_NAME}-redirectscheme.redirectscheme.scheme=https" - "traefik.http.middlewares.${STACK_NAME}-redirectscheme.redirectscheme.permanent=true" ## When you're ready for release, run "abra recipe sync " to set this - "coop-cloud.${STACK_NAME}.version=1.1.0+v1.9.6" ## Enable backups: https://docs.coopcloud.tech/maintainers/handbook/#how-do-i-configure-backuprestore - "backupbot.backup=true" - "backupbot.backup.volumes.libretranslate_api_keys=true" healthcheck: test: ["CMD-SHELL", "./venv/bin/python scripts/healthcheck.py"] interval: 10s timeout: 4s retries: 4 start_period: 5s entrypoint: /app/scripts/custom-entrypoint.sh environment: - LT_FRONTEND_TITLE=${FRONTEND_TITLE} - LT_API_KEYS=${API_KEYS} - LT_UNDER_ATTACK=${REQUIRE_API_KEY} - LT_DISABLE_WEB_UI=${DISABLE_WEB_UI} - LT_METRICS=${METRICS} - LT_API_KEYS_DB_PATH=/app/db/api_keys.db - LT_UPDATE_MODELS=true - LT_LOAD_ONLY=${LANG} - ARGOS_CHUNK_TYPE=MINISBD volumes: - libretranslate_api_keys:/app/db - libretranslate_models:/home/libretranslate/.local:rw secrets: metrics_auth_token: external: true name: ${STACK_NAME}_metrics_auth_token_${SECRET_METRICS_AUTH_TOKEN_VERSION} configs: entrypoint: name: ${STACK_NAME}_entrypoint_${ENTRYPOINT_VERSION} file: entrypoint.sh.tmpl template_driver: golang volumes: libretranslate_api_keys: libretranslate_models: networks: proxy: external: true