Add french, italian, portuguese, spanish, german (#155)

The french 6 layers variant wasn't included because it's not good enough
yet. Use the `french_24l` variant for now.
This commit is contained in:
Gabriel de Marmiesse
2026-04-17 17:52:16 +02:00
committed by GitHub
parent 9fc89c64f2
commit c90fc8ced6
31 changed files with 1165 additions and 131 deletions
+89
View File
@@ -0,0 +1,89 @@
services:
traefik:
image: traefik:v3.6.7
command:
# Swarm provider configuration
- "--providers.swarm.endpoint=unix:///var/run/docker.sock"
- "--providers.swarm.exposedByDefault=false"
# EntryPoints for HTTP and HTTPS
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
# Redirect HTTP to HTTPS
- "--entrypoints.web.http.redirections.entryPoint.to=websecure"
- "--entrypoints.web.http.redirections.entryPoint.scheme=https"
# Let's Encrypt configuration
- "--certificatesResolvers.letsencrypt.acme.httpChallenge.entryPoint=web"
- "--certificatesResolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
- "--certificatesResolvers.letsencrypt.acme.email=gabriel@kyutai.org"
- "--certificatesResolvers.letsencrypt.acme.httpChallenge=true"
- "--log.level=TRACE"
ports:
- "80:80"
- "443:443"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- letsencrypt:/letsencrypt
deploy:
placement:
constraints:
- node.role == manager
backend-english:
image: rg.fr-par.scw.cloud/namespace-unruffled-tereshkova/pocket-tts-server-english:${COMMIT_SHA}
build:
context: .
volumes:
- hf-cache:/root/.cache/huggingface
deploy:
labels:
- "traefik.enable=true"
- "traefik.http.routers.server-english.rule=Host(`pocket-tts-api.kyutai.org`) && PathPrefix(`/english`)"
- "traefik.http.routers.server-english.middlewares=strip-api-english"
- "traefik.http.middlewares.strip-api-english.replacepathregex.regex=^/english/(.*)"
- "traefik.http.middlewares.strip-api-english.replacepathregex.replacement=/$$1"
- "traefik.http.routers.server-english.entrypoints=websecure"
- "traefik.http.routers.server-english.tls=true"
- "traefik.http.routers.server-english.tls.certresolver=letsencrypt"
- "traefik.http.services.server-english.loadbalancer.server.port=80"
- "traefik.http.routers.server-english.priority=100"
backend-german:
image: rg.fr-par.scw.cloud/namespace-unruffled-tereshkova/pocket-tts-server-german:${COMMIT_SHA}
build:
context: .
volumes:
- hf-cache:/root/.cache/huggingface
deploy:
labels:
- "traefik.enable=true"
- "traefik.http.routers.server-german.rule=Host(`pocket-tts-api.kyutai.org`) && PathPrefix(`/german`)"
- "traefik.http.routers.server-german.middlewares=strip-api-german"
- "traefik.http.middlewares.strip-api-german.replacepathregex.regex=^/german/(.*)"
- "traefik.http.middlewares.strip-api-german.replacepathregex.replacement=/$$1"
- "traefik.http.routers.server-german.entrypoints=websecure"
- "traefik.http.routers.server-german.tls=true"
- "traefik.http.routers.server-german.tls.certresolver=letsencrypt"
- "traefik.http.services.server-german.loadbalancer.server.port=80"
- "traefik.http.routers.server-german.priority=100"
volumes:
letsencrypt:
portainer_data:
prometheus-data:
grafana-data:
networks:
agent_network:
driver: overlay
attachable: true
driver_opts:
encrypted: "true"
default:
driver: overlay
attachable: true
driver_opts:
encrypted: "true"