Guide
Deployer Hermes Agent sur un VPS : guide complet
Guide complet pour deployer Hermes Agent sur un VPS Linux : installation, configuration du gateway, service systemd, reverse proxy Nginx, sauvegarde et supervision.
Sur cette page
Introduction
Deployer Hermes Agent sur un VPS (Virtual Private Server) est le moyen le plus courant de le rendre accessible 24h/24 depuis des plateformes de messagerie comme Telegram ou Discord. Un VPS a 5-10 EUR/mois avec 1-2 Go de RAM suffit largement.
Cette page est un guide etape par etape, de la creation du VPS a la mise en production avec supervision et sauvegardes.
Question couverte
q-141: Comment deployer Hermes Agent sur un VPS ?
Etape 1 : Choisir et preparer le VPS
Prerequis minimum :
- Linux (Ubuntu 22.04/24.04 LTS recommande, Debian 12, ou toute distribution avec Python 3.11+)
- 1 Go de RAM (2 Go recommandes)
- 10 Go de disque (20 Go recommandes)
- Acces SSH
Fournisseurs courants : Hetzner, DigitalOcean, OVH, Scaleway, Linode, Vultr.
Connectez-vous en SSH et mettez a jour le systeme :
ssh root@votre-vps
apt update && apt upgrade -yEtape 2 : Installer Hermes Agent
Attention : La commande ci-dessous telecharge et execute un script depuis Internet directement dans votre shell. Avant de l'executer, verifiez le contenu du script en ouvrant l'URL dans un navigateur ou avec
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | less. Assurez-vous que la source est fiable et que la connexion est HTTPS. Pour annuler, fermez le terminal avant d'executer la commande.
# Installer les dependances
apt install -y python3 python3-pip python3-venv git curl
# Installer Hermes Agent
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bashOu via pip :
python3 -m venv /opt/hermes-venv
source /opt/hermes-venv/bin/activate
pip install hermes-agentVerifiez l'installation :
hermes --version
hermes doctorEtape 3 : Configurer Hermes Agent
# Configuration interactive
hermes setup
# Configurer un modele
hermes model
# Verifier la configuration
hermes config checkPour un deploiement sans interface graphique, configurez les cles API dans ~/.hermes/.env :
# Exemple avec OpenRouter
OPENROUTER_API_KEY=votre-cle
# Exemple avec Telegram
TELEGRAM_BOT_TOKEN=1234567890:ABCdefGHIjklMNOpqrsTUVwxyz
TELEGRAM_ALLOWED_USERS=123456789Etape 4 : Installer le gateway comme service
# Installation du service systemd
hermes gateway install
# Demarrer le service
systemctl --user start hermes-gateway
# Activer au demarrage
systemctl --user enable hermes-gateway
# Verifier le statut
systemctl --user status hermes-gatewayPour une installation system-wide (en tant que root, recommande pour un VPS) :
sudo hermes gateway install --system
sudo systemctl enable --now hermes-gatewayEtape 5 : Configurer un reverse proxy (optionnel mais recommande)
Installez Nginx :
apt install -y nginx certbot python3-certbot-nginxCreez la configuration :
# /etc/nginx/sites-available/hermes
server {
listen 80;
server_name hermes.votre-domaine.com;
location / {
proxy_pass http://127.0.0.1:8642;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 300s;
}
}Activez le site et HTTPS :
ln -s /etc/nginx/sites-available/hermes /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
certbot --nginx -d hermes.votre-domaine.comEtape 6 : Configurer les sauvegardes automatiques
Creez un script de sauvegarde :
#!/bin/bash
# /opt/scripts/backup-hermes.sh
BACKUP_DIR=/backup/hermes
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/hermes-$(date +%Y%m%d).tar.gz \
--exclude='logs/*' \
--exclude='cache/*' \
~/.hermes/
# Garder les 7 derniers jours
find $BACKUP_DIR -name 'hermes-*.tar.gz' -mtime +7 -deleteAjoutez un cron :
# Sauvegarde quotidienne a 3h du matin
0 3 * * * /opt/scripts/backup-hermes.shEtape 7 : Supervision et monitoring
Verification du service :
systemctl status hermes-gateway
journalctl -u hermes-gateway -fAlerte en cas d'arret : creez un cron Hermes qui surveille le gateway :
hermes cron create "*/15 * * * *" \
"Verifie que le gateway est operationnel. Si hermes gateway status indique une erreur, alerte." \
--deliver "telegram:-100123456789" \
--name "surveillance-gateway"Monitoring des ressources :
# Usage disque
du -sh ~/.hermes/
# Taille des logs
du -sh ~/.hermes/logs/
# Processus Hermes
ps aux | grep hermesEtape 8 : Mises a jour
# Avant la mise a jour
systemctl stop hermes-gateway
tar -czf pre-update-$(date +%Y%m%d).tar.gz ~/.hermes/
# Mise a jour
hermes update
# Verification
hermes doctor
hermes config check
# Redemarrage
systemctl start hermes-gatewayAlternative : Deploiement Docker
Si vous preferez Docker :
docker run -d \
--name hermes \
--restart unless-stopped \
-v ~/.hermes:/opt/data \
-p 8642:8642 \
-e TELEGRAM_BOT_TOKEN=votre-token \
-e TELEGRAM_ALLOWED_USERS=123456789 \
nousresearch/hermes-agent gateway runL'image Docker officielle execute le gateway en tant qu'utilisateur non privilegie hermes (uid 10000).
Checklist de mise en production
- Hermes Agent installe et fonctionnel (
hermes --version,hermes doctor) - Modele configure et teste (
hermes chat -q "test") - Gateway installe comme service systemd
- Plateformes de messagerie configurees et testees
- Reverse proxy avec HTTPS (si acces distant)
- Allowlists configurees (
TELEGRAM_ALLOWED_USERS, etc.) - Sauvegardes automatiques en place
- Supervision et alertes configurees
- Procedure de rollback documentee
- Logs surveilles (
journalctl -u hermes-gateway -f)
Sources
- Documentation officielle Hermes Agent (https://hermes-agent.nousresearch.com/docs/)
- Guide d'installation (https://hermes-agent.nousresearch.com/docs/getting-started/installation)
- Guide Docker (https://hermes-agent.nousresearch.com/docs/user-guide/docker)
- Guide de securite (https://hermes-agent.nousresearch.com/docs/user-guide/security)
- Guide Nix/NixOS Setup (https://hermes-agent.nousresearch.com/docs/getting-started/nix-setup)
- Depot NousResearch/hermes-agent, commit b4f8c491
Liens internes proposes
Preuves et limites
Architecture, corpus officiel et observations publiques sont ingérés au build. Une validation humaine reste nécessaire pour les affirmations publiées.