Rechercher

Commence à saisir pour chercher.

    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 :

    Commande ou exempleBASH
    ssh root@votre-vps
    apt update && apt upgrade -y

    Etape 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.

    Commande ou exempleBASH
    # 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 | bash

    Ou via pip :

    Commande ou exempleBASH
    python3 -m venv /opt/hermes-venv
    source /opt/hermes-venv/bin/activate
    pip install hermes-agent

    Verifiez l'installation :

    Commande ou exempleBASH
    hermes --version
    hermes doctor

    Etape 3 : Configurer Hermes Agent

    Commande ou exempleBASH
    # Configuration interactive
    hermes setup
    
    # Configurer un modele
    hermes model
    
    # Verifier la configuration
    hermes config check

    Pour un deploiement sans interface graphique, configurez les cles API dans ~/.hermes/.env :

    Commande ou exempleBASH
    # Exemple avec OpenRouter
    OPENROUTER_API_KEY=votre-cle
    
    # Exemple avec Telegram
    TELEGRAM_BOT_TOKEN=1234567890:ABCdefGHIjklMNOpqrsTUVwxyz
    TELEGRAM_ALLOWED_USERS=123456789

    Etape 4 : Installer le gateway comme service

    Commande ou exempleBASH
    # 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-gateway

    Pour une installation system-wide (en tant que root, recommande pour un VPS) :

    Commande ou exempleBASH
    sudo hermes gateway install --system
    sudo systemctl enable --now hermes-gateway

    Etape 5 : Configurer un reverse proxy (optionnel mais recommande)

    Installez Nginx :

    Commande ou exempleBASH
    apt install -y nginx certbot python3-certbot-nginx

    Creez la configuration :

    Commande ou exempleNGINX
    # /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 :

    Commande ou exempleBASH
    ln -s /etc/nginx/sites-available/hermes /etc/nginx/sites-enabled/
    nginx -t
    systemctl reload nginx
    certbot --nginx -d hermes.votre-domaine.com

    Etape 6 : Configurer les sauvegardes automatiques

    Creez un script de sauvegarde :

    Commande ou exempleBASH
    #!/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 -delete

    Ajoutez un cron :

    Commande ou exempleBASH
    # Sauvegarde quotidienne a 3h du matin
    0 3 * * * /opt/scripts/backup-hermes.sh

    Etape 7 : Supervision et monitoring

    Verification du service :

    Commande ou exempleBASH
    systemctl status hermes-gateway
    journalctl -u hermes-gateway -f

    Alerte en cas d'arret : creez un cron Hermes qui surveille le gateway :

    Commande ou exempleBASH
    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 :

    Commande ou exempleBASH
    # Usage disque
    du -sh ~/.hermes/
    
    # Taille des logs
    du -sh ~/.hermes/logs/
    
    # Processus Hermes
    ps aux | grep hermes

    Etape 8 : Mises a jour

    Commande ou exempleBASH
    # 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-gateway

    Alternative : Deploiement Docker

    Si vous preferez Docker :

    Commande ou exempleBASH
    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 run

    L'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

    Liens internes proposes

    Sources structurées

    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.