Instalación con Docker
Despliega TraDoc desde GHCR en el puerto coherente 2507 del host Docker y del contenedor.
TraDoc utiliza el puerto 2507 en el host Docker y 2507 dentro del contenedor de producción. Su base de datos, documentos y datos del proveedor persisten en ./data.
Docker Compose listo para copiar
services:
tradoc:
image: ghcr.io/lucas-lepajollec/tradoc:latest
ports:
- "2507:2507"
env_file:
- path: .env
required: false
volumes:
- ./data:/app/data
extra_hosts:
- "host.docker.internal:host-gateway"
restart: unless-stoppedInicia y comprueba TraDoc:
mkdir -p data
sudo chown -R 1000:1000 data
docker compose pull
docker compose up -d --force-recreate
docker compose ps
curl http://localhost:2507/healthLos dos primeros comandos preparan un bind mount de Linux para el UID/GID sin root 1000:1000 de la imagen. Docker Desktop suele gestionar por sí mismo el uso compartido de archivos del host. Nunca sustituyas la propiedad correcta por chmod 777.
El primer inicio no requiere .env. Un .env opcional no versionado puede sustituir los ajustes iniciales del proveedor; copia .env.example y sustituye sus valores de ejemplo antes de reiniciar. Un valor antiguo de APP_SECRET se ignora.
Abre http://<ip-del-servidor>:2507 desde la LAN. La imagen ya se ejecuta sin root e incluye su propia comprobación de salud en el puerto 2507; Compose no repite esos ajustes. Configura después el proveedor, la clave y el modelo dentro de TraDoc.
La entrada host.docker.internal permite al contenedor acceder a un servidor de inferencia ejecutado directamente en el host Docker. Cambia LLM_ENDPOINT si el proveedor está en otro lugar.
Compilar desde el código fuente
git clone https://github.com/lucas-lepajollec/tradoc.git
cd tradoc
docker compose -f docker-compose.yml -f docker-compose.build.yml up -d --buildEl override compila tradoc:local sin cambiar el puerto 2507 ni ./data.
Actualizar con seguridad
Detén TraDoc y respalda todo el directorio data antes de actualizar. Después descarga la imagen y vuelve a crear el contenedor. No uses docker compose down -v ni elimines data durante una actualización normal. Consulta Actualizaciones.