====== Installation de Libretranslate ====== On installe python et venv sudo apt update && sudo apt upgrade && sudo apt install python3 python3-venv python3-pip apache2 On crée un user dédié sudo useradd --system --no-create-home --user-group libretranslate sudo mkdir -p /home/libretranslate sudo chown libretranslate:libretranslate /home/libretranslate On se rend dans le dossier cd /home/libretranslate Si c'est une ré-installation on pense à d'abord stopper l'instance en cours sudo systemctl stop libretranslate.service En tant que libretranslate on active venv, on installe pip et libretranslate : sudo -u libretranslate bash python3 -m venv venv source venv/bin/activate pip install --upgrade pip pip install libretranslate deactivate On peut reactiver venv après un deactivate en se rendant de nouveau dans le dossier puis avec la commande source : cd /home/libretranslate source venv/bin/activate On peut effectuer un premier lancement avec quelques langues : libretranslate --update-models --load-only fr,en On quitte l'user : exit On crée un service : sudo nano /etc/systemd/system/libretranslate.service [Unit] Description=LibreTranslate Documentation=https://github.com/LibreTranslate/LibreTranslate Wants=network.target After=network.target [Service] User=libretranslate Group=libretranslate Type=idle Restart=on-failure RestartSec=10 WorkingDirectory=/home/libretranslate Environment="PATH=/home/libretranslate/venv/bin" Environment="LT_LOAD_ONLY=fr,en,es,it,de,ja" ExecStart=/home/libretranslate/venv/bin/libretranslate --host 127.0.0.1 --port 5000 --load-only fr,en,es,it,de,ja --api-keys --ssl #EnvironmentFile=/home/libretranslate/pyvenv.cfg ExecReload=/bin/kill -s HUP $MAINPID KillMode=mixed TimeoutStopSec=1 [Install] WantedBy=multi-user.target Puis on active le service (et on le lance directement avec --now) et on vérifie son status : sudo systemctl enable --now libretranslate.service sudo systemctl status libretranslate.service ====== Création du Proxypass pour apache ====== sudo nano /etc/apache2/sites-enabled/trad.domain.conf ServerName trad.domain DocumentRoot /var/www/html/ RewriteEngine on RewriteCond %{SERVER_NAME} =trad.domain RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent] sudo nano /etc/apache2/sites-enabled/trad.domain-le-ssl.conf ServerName trad.domain DocumentRoot /var/www/html/ ProxyPass / http://127.0.0.1:5000/ ProxyPassReverse / http://127.0.0.1:5000/ ProxyPreserveHost On Include /etc/letsencrypt/options-ssl-apache.conf SSLCertificateFile /etc/letsencrypt/live/trad.domain/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/trad.domain/privkey.pem sudo systemctl restart apache2 Et pensez au certbot si besoin :) ===== Modifier le template ===== nano /home/libretranslate/venv/lib/python3.13/site-packages/libretranslate/templates/index.htm Et on relance le service pour voir les modifications : sudo systemctl restart libretranslate.service ===== Modifier les langues ===== La liste est disponible ici : [[https://docs.libretranslate.com/fr/guides/supported_languages/]] On stoppe le service et on va modifier les 2 lignes suivantes en ajoutant les codes correspondants : Environment="LT_LOAD_ONLY=fr,en,es,it,de,ja" ExecStart=/home/libretranslate/venv/bin/libretranslate --host 127.0.0.1 --port 5000 --load-only fr,en,es,it,de,ja --api-keys --ssl On recharge puis on redémarre le service pour la prise en compte. systemctl daemon-reload sudo systemctl restart libretranslate.service Pour supprimer une langue, le plus simple est de supprimer les langues installées et de relancer libretranslate avec les langues désirées uniquement : ls -l ~/.local/share/argos-translate/packages/ rm -rf ~/.local/share/argos-translate/packages/* Puis de mettre à jour le service comme pour l'ajout de langues. Et dans les 2 cas, on recharge puis on redémarre le service pour la prise en compte. systemctl daemon-reload sudo systemctl restart libretranslate.service