---
# nocheck: playwright-service-flag β translation engine without a browser surface of its own
ltengine:
backup:
stop_required: false
name: ltengine
healthcheck:
flavor: http_status
path: languages
# nocheck: healthcheck-timing-override the server downloads its GGUF weights before it binds, and a cold node pays that once
start_period: 30m
modes:
compose:
enabled: true
swarm:
enabled: true
host:
enabled: false
bond: 1
enabled: true # nocheck: dynamic-flag
shared: true
image: nvidia/cuda
# nocheck: docker-version runtime base of the self-built binary, not the served application
version: 12.6.3-runtime-ubuntu24.04
builder_image: nvidia/cuda
builder_version: 12.6.3-devel-ubuntu24.04
rust_version: 1.99.1
update:
- key: builder_version
type: registry_tags
image: nvidia/cuda
match: devel-ubuntu24.04
- key: rust_version
type: git_tags
repository: https://github.com/rust-lang/rust.git
custom: true
gpu: true
repository: https://github.com/LibreTranslate/LTEngine
ref: 3fa19f8b6d3eecbacbdbf79406e0f877ebe11e26
# nocheck: min-storage-headroom Reason: the CUDA runtime base the binary is built on, plus the GGUF weights the server downloads into its models volume on first start
min_storage: 5GB
model: gemma3-1b
char_limit: 5000
ports:
internal:
http: 5050
lifecycle: alpha
cpus: "2.0"
mem_reservation: 1g
mem_limit: 3g
pids_limit: 512
# nocheck: playwright-service-flag
tor:
enabled: false # nocheck: dynamic-flag an engine consumed over the internal network publishes no onion surface
shared: false # nocheck: dynamic-flag same
# nocheck: variants-coverage the role has a single variant, and the guide edge is not a dimension of it: a second round would differ only by the README replay
docs:
bond: 0.5
enabled: "{{ 'web-app-docs' in group_names }}"
shared: "{{ 'web-app-docs' in group_names }}"