Add the demo (#163)

This commit is contained in:
Gabriel de Marmiesse
2026-04-20 15:55:33 +02:00
committed by GitHub
parent c9ebef4d1a
commit 5304da453b
12 changed files with 169 additions and 29 deletions
+79 -15
View File
@@ -1,3 +1,4 @@
services:
traefik:
image: traefik:v3.6.7
@@ -32,11 +33,10 @@ services:
- node.role == manager
backend-english:
image: rg.fr-par.scw.cloud/namespace-unruffled-tereshkova/pocket-tts-server-english:${COMMIT_SHA}
build:
context: .
image: rg.fr-par.scw.cloud/namespace-unruffled-tereshkova/pocket-tts-server:${COMMIT_SHA}
volumes:
- hf-cache:/root/.cache/huggingface
command: ["serve", "--port", "80", "--host", "0.0.0.0", "--language", "english", "--quantize"]
deploy:
labels:
- "traefik.enable=true"
@@ -51,11 +51,10 @@ services:
- "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: .
image: rg.fr-par.scw.cloud/namespace-unruffled-tereshkova/pocket-tts-server:${COMMIT_SHA}
volumes:
- hf-cache:/root/.cache/huggingface
command: ["serve", "--port", "80", "--host", "0.0.0.0", "--language", "german", "--quantize"]
deploy:
labels:
- "traefik.enable=true"
@@ -69,21 +68,86 @@ services:
- "traefik.http.services.server-german.loadbalancer.server.port=80"
- "traefik.http.routers.server-german.priority=100"
backend-french:
image: rg.fr-par.scw.cloud/namespace-unruffled-tereshkova/pocket-tts-server:${COMMIT_SHA}
volumes:
- hf-cache:/root/.cache/huggingface
command: ["serve", "--port", "80", "--host", "0.0.0.0", "--language", "french_24l"]
deploy:
labels:
- "traefik.enable=true"
- "traefik.http.routers.server-french.rule=Host(`pocket-tts-api.kyutai.org`) && PathPrefix(`/french`)"
- "traefik.http.routers.server-french.middlewares=strip-api-french"
- "traefik.http.middlewares.strip-api-french.replacepathregex.regex=^/french/(.*)"
- "traefik.http.middlewares.strip-api-french.replacepathregex.replacement=/$$1"
- "traefik.http.routers.server-french.entrypoints=websecure"
- "traefik.http.routers.server-french.tls=true"
- "traefik.http.routers.server-french.tls.certresolver=letsencrypt"
- "traefik.http.services.server-french.loadbalancer.server.port=80"
- "traefik.http.routers.server-french.priority=100"
backend-italian:
image: rg.fr-par.scw.cloud/namespace-unruffled-tereshkova/pocket-tts-server:${COMMIT_SHA}
volumes:
- hf-cache:/root/.cache/huggingface
command: ["serve", "--port", "80", "--host", "0.0.0.0", "--language", "italian", "--quantize"]
deploy:
labels:
- "traefik.enable=true"
- "traefik.http.routers.server-italian.rule=Host(`pocket-tts-api.kyutai.org`) && PathPrefix(`/italian`)"
- "traefik.http.routers.server-italian.middlewares=strip-api-italian"
- "traefik.http.middlewares.strip-api-italian.replacepathregex.regex=^/italian/(.*)"
- "traefik.http.middlewares.strip-api-italian.replacepathregex.replacement=/$$1"
- "traefik.http.routers.server-italian.entrypoints=websecure"
- "traefik.http.routers.server-italian.tls=true"
- "traefik.http.routers.server-italian.tls.certresolver=letsencrypt"
- "traefik.http.services.server-italian.loadbalancer.server.port=80"
- "traefik.http.routers.server-italian.priority=100"
backend-portuguese:
image: rg.fr-par.scw.cloud/namespace-unruffled-tereshkova/pocket-tts-server:${COMMIT_SHA}
volumes:
- hf-cache:/root/.cache/huggingface
command: ["serve", "--port", "80", "--host", "0.0.0.0", "--language", "portuguese", "--quantize"]
deploy:
labels:
- "traefik.enable=true"
- "traefik.http.routers.server-portuguese.rule=Host(`pocket-tts-api.kyutai.org`) && PathPrefix(`/portuguese`)"
- "traefik.http.routers.server-portuguese.middlewares=strip-api-portuguese"
- "traefik.http.middlewares.strip-api-portuguese.replacepathregex.regex=^/portuguese/(.*)"
- "traefik.http.middlewares.strip-api-portuguese.replacepathregex.replacement=/$$1"
- "traefik.http.routers.server-portuguese.entrypoints=websecure"
- "traefik.http.routers.server-portuguese.tls=true"
- "traefik.http.routers.server-portuguese.tls.certresolver=letsencrypt"
- "traefik.http.services.server-portuguese.loadbalancer.server.port=80"
- "traefik.http.routers.server-portuguese.priority=100"
backend-spanish:
image: rg.fr-par.scw.cloud/namespace-unruffled-tereshkova/pocket-tts-server:${COMMIT_SHA}
volumes:
- hf-cache:/root/.cache/huggingface
command: ["serve", "--port", "80", "--host", "0.0.0.0", "--language", "spanish", "--quantize"]
deploy:
labels:
- "traefik.enable=true"
- "traefik.http.routers.server-spanish.rule=Host(`pocket-tts-api.kyutai.org`) && PathPrefix(`/spanish`)"
- "traefik.http.routers.server-spanish.middlewares=strip-api-spanish"
- "traefik.http.middlewares.strip-api-spanish.replacepathregex.regex=^/spanish/(.*)"
- "traefik.http.middlewares.strip-api-spanish.replacepathregex.replacement=/$$1"
- "traefik.http.routers.server-spanish.entrypoints=websecure"
- "traefik.http.routers.server-spanish.tls=true"
- "traefik.http.routers.server-spanish.tls.certresolver=letsencrypt"
- "traefik.http.services.server-spanish.loadbalancer.server.port=80"
- "traefik.http.routers.server-spanish.priority=100"
volumes:
letsencrypt:
portainer_data:
prometheus-data:
grafana-data:
hf-cache:
networks:
agent_network:
driver: overlay
attachable: true
driver_opts:
encrypted: "true"
default:
driver: overlay
attachable: true
driver_opts:
encrypted: "true"
encrypted: "true"