Installation Docker
Déployer TraDoc depuis GHCR sur le port cohérent 2507 de l'hôte Docker et du conteneur.
TraDoc utilise le port 2507 sur l'hôte Docker et 2507 dans le conteneur de production. Sa base, ses documents et les données fournisseur persistent dans ./data.
Docker Compose prêt à copier
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-stoppedDémarrez puis vérifiez 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/healthLes deux premières commandes préparent un bind mount Linux pour l'UID/GID non-root 1000:1000 de l'image. Docker Desktop gère normalement lui-même le partage des fichiers hôtes. Ne remplacez jamais une propriété correcte par chmod 777.
Le premier démarrage ne nécessite pas de .env. Un .env non versionné optionnel peut surcharger les réglages fournisseur initiaux ; copiez .env.example et remplacez ses valeurs d'exemple avant de redémarrer. Une ancienne valeur APP_SECRET est ignorée.
Ouvrez http://<ip-serveur>:2507 depuis le LAN. L'image s'exécute déjà sans root et contient son propre healthcheck sur le port 2507 ; Compose ne répète pas ces réglages. Configurez ensuite le fournisseur, sa clé et le modèle dans TraDoc.
L'entrée host.docker.internal permet au conteneur de joindre un serveur d'inférence lancé directement sur l'hôte Docker. Modifiez LLM_ENDPOINT si le fournisseur se trouve ailleurs.
Construire depuis les sources
git clone https://github.com/lucas-lepajollec/tradoc.git
cd tradoc
docker compose -f docker-compose.yml -f docker-compose.build.yml up -d --buildL'override construit tradoc:local sans changer le port 2507 ni ./data.
Mettre à jour sans risque
Arrêtez TraDoc et sauvegardez tout le dossier data avant une mise à jour. Tirez ensuite l'image et recréez le conteneur. N'utilisez jamais docker compose down -v et ne supprimez pas data pendant une mise à jour normale. Voir Mises à jour.