Docker
La imagen trae todo: CUDA 12.8 y cuDNN 9, el servidor (Python 3.12), el motor de voz OmniVoice en su propio entorno (Python 3.11 + torch), ffmpeg y Node.
Requisitos
Sección titulada «Requisitos»- GPU NVIDIA y su controlador al día.
- Linux: Docker con NVIDIA Container Toolkit.
- Windows: Docker Desktop con WSL 2 (la GPU pasa al contenedor sin instalar nada más).
Con Docker Compose
Sección titulada «Con Docker Compose»-
Clona el repositorio:
Ventana de terminal git clone https://github.com/alenj0x1/translay.gitcd translay -
Define la contraseña del dueño:
Ventana de terminal cp .env.example .envy cambia
TRANSLAY_OWNER_PASSWORDen.env. -
Construye y arranca:
Ventana de terminal docker compose up -d --build -
Abre
http://localhost:8765e inicia sesión con esa contraseña.
La primera vez descarga los modelos (~6 GB) al volumen modelos; el contenedor aparece como healthy cuando el servidor responde. Para ver el avance:
docker compose logs -fPor qué hace falta la contraseña
Sección titulada «Por qué hace falta la contraseña»Fuera de Docker, quien entra desde el mismo equipo (127.0.0.1) es el dueño sin iniciar sesión. Dentro del contenedor las conexiones llegan desde la red de Docker, así que nadie cuenta como local: sin contraseña nadie podría administrar la app. TRANSLAY_OWNER_PASSWORD (o --owner-password) la fija al arrancar. Más en Acceso.
Volúmenes
Sección titulada «Volúmenes»| Ruta en el contenedor | Qué guarda |
|---|---|
/app/data |
Tu biblioteca, transcripciones, voces, cola, preferencias y claves (en el compose, ./data). |
/models |
Modelos de Hugging Face (HF_HOME). Conservarlo evita volver a descargarlos. |
Puedes montar la misma carpeta data/ que usa la instalación local: el formato es el mismo.
Sin Compose
Sección titulada «Sin Compose»docker build -t translay .docker run -d --gpus all -p 8765:8765 \ -e TRANSLAY_OWNER_PASSWORD=tu-contraseña \ -v "$PWD/data:/app/data" -v translay-modelos:/models \ --name translay translayLas opciones de arranque van después del nombre de la imagen; reemplazan las de por defecto (--host 0.0.0.0 --no-browser), así que inclúyelas:
docker run … translay --host 0.0.0.0 --no-browser --translator nllb-1.3b