← Back to Blog

Hermes Agent on Dokploy: Build a Self-Hosted AI Development Agent with MCP

Introduction

AI coding agents are transformative — but relying on cloud-hosted services means recurring costs, data privacy concerns, and API limitations. What if you could run your own agent, persistently, on a $6/month VPS?

Enter Hermes Agent — an open-source, terminal-native AI agent that can perform multi-step tasks, write code, browse the web, and orchestrate infrastructure. Combined with Dokploy — a self-hosted PaaS that exposes a full MCP (Model Context Protocol) API — you get a development agent that can deploy and manage its own infrastructure.

This guide walks through the exact setup I use daily.


1. Architecture Overview

Hermes Agent on Dokploy architecture diagram

The flow: You send a prompt via Telegram → Hermes Agent reasons and acts (writes code, commits, pushes to GitLab) → Git webhook or Dokploy MCP pulls the change → Dokploy calls compose.deploy() → containers update → logs feed back to the agent for verification. Everything runs on your own VPS — no cloud lock-in.


2. Prerequisites

  • A VPS with at least 1 vCPU, 4GB RAM (I use a cheap Hostinger VPS)
  • Ubuntu 24.04 or similar
  • Docker and Docker Compose installed
  • Dokploy installed on the VPS (dokploy.com)
  • A domain name pointed to your VPS IP

3. Setting Up Dokploy

If you haven't installed Dokploy yet:

curl -sSL https://dokploy.com/install.sh | sh

This installs Dokploy with Traefik as a reverse proxy, Let's Encrypt for SSL, and a web UI at admin.yourdomain.com.

After setup, you'll see a web dashboard where you can:

  • Create Projects and Environments
  • Deploy Docker Compose stacks
  • Add domains with automatic SSL
  • View logs and manage deployments

Key insight: The Dokploy MCP API runs at the same base URL as the web UI — no extra services needed.


4. Hermes Agent Docker Compose

Create a docker-compose.yml for Hermes Agent:

services:
  hermes:
    image: ghcr.io/nousresearch/hermes-agent:latest
    container_name: hermes-agent
    volumes:
      - ./config:/home/user/.config/hermes
      - ./data:/home/user/.local/share/hermes
      - ./ssh:/home/user/.ssh
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - HERMES_PROVIDER=openrouter
      - HERMES_MODEL=anthropic/claude-sonnet-4
      - HERMES_API_KEY=${OPENROUTER_API_KEY}
      - TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN}
      - TELEGRAM_CHAT_ID=${TELEGRAM_CHAT_ID}
      - GIT_TOKEN=${GIT_TOKEN}
      - DOKPLOY_URL=https://admin.yourdomain.com
      - DOKPLOY_API_KEY=${DOKPLOY_API_KEY}
    ports:
      - "3000"
    restart: unless-stopped
    networks:
      - dokploy-network
    deploy:
      resources:
        limits:
          memory: 1024M
          cpus: '0.75'

networks:
  dokploy-network:
    external: true

What each volume does:

Volume Purpose
./config Stores Hermes config. Auto-generated on first run — edit it afterwards
./data Persistent state: skills, memory, cron jobs
./ssh Git SSH keys for pushing to GitLab/GitHub
docker.sock (Optional) Lets Hermes run Docker commands on the host

First run: When the container starts for the first time, Hermes generates a default config/hermes.yaml automatically. Do NOT create this file manually — let Hermes bootstrap it, then edit the sections you need.

Environment Variables

# AI Provider (used for the agent's reasoning)
OPENROUTER_API_KEY=sk-or-v1-...

# Telegram Bot (for chat interaction)
TELEGRAM_BOT_TOKEN=123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
TELEGRAM_CHAT_ID=7452264766

# GitLab/GitHub access token (for repository operations)
GIT_TOKEN=glpat-...

# Dokploy MCP API key
DOKPLOY_API_KEY=dpk_...

5. Configuration: hermes.yaml

After the first container start, Hermes generates a default config/hermes.yaml in your mounted volume. Open it and add the following sections:

Enable Telegram messaging

messaging:
telegram:
  enabled: true
  bot_token: "${TELEGRAM_BOT_TOKEN}"
  default_chat_id: "${TELEGRAM_CHAT_ID}"

Register Dokploy MCP servers

mcp_servers:
dokploy:
  command: npx
  args:
    - -y
    - '@dokploy/mcp'
  env:
    DOKPLOY_API_KEY: ${DOKPLOY_API_KEY}
    DOKPLOY_URL: ${DOKPLOY_URL}
  timeout: 120

gitlab:
  command: npx
  args:
    - -y
    - '@modelcontextprotocol/server-gitlab'
  env:
    GITLAB_PERSONAL_ACCESS_TOKEN: ${GIT_TOKEN}
    GITLAB_API_URL: https://gitlab.com/api/v4

Set provider and model

provider: openrouter
model: anthropic/claude-sonnet-4

Enable toolsets

toolsets:
- terminal
- file
- web
- search
- skills
- cronjob
- memory

Alternatively, use the CLI inside the container to configure without editing YAML:

# Connect to the running container
docker exec -it hermes-agent bash

# Run the setup wizard
hermes setup

# Or set individual values
hermes config set provider openrouter
hermes config set model anthropic/claude-sonnet-4

# Add Dokploy MCP server via CLI
hermes mcp add dokploy \
  --command "npx -y @dokploy/mcp" \
  --env "DOKPLOY_API_KEY=${DOKPLOY_API_KEY}" \
  --env "DOKPLOY_URL=${DOKPLOY_URL}"

# Add GitLab MCP server via CLI
hermes mcp add gitlab \
  --command "npx -y @modelcontextprotocol/server-gitlab" \
  --env "GITLAB_PERSONAL_ACCESS_TOKEN=${GIT_TOKEN}" \
  --env "GITLAB_API_URL=https://gitlab.com/api/v4"

# Enable Telegram
hermes gateway setup

# Verify everything
hermes doctor

6. Wiring Up Dokploy MCP

This is the most powerful part. Dokploy exposes every operation — create compose, deploy, add domains, read logs — as MCP tools. Hermes Agent natively consumes MCP servers, making them available as first-class tool calls.

What Dokploy MCP Exposes

Category Tools Available
Compose compose_create, compose_deploy, compose_update, compose_search, compose_one, compose_readLogs, compose_stop, compose_delete, compose_saveEnvironment
Domains domain_create, domain_update, domain_delete, domain_byComposeId, domain_generateDomain, domain_validateDomain
Git Providers gitlab_gitlabProviders, gitlab_getGitlabRepositories, gitlab_getGitlabBranches, gitlab_testConnection
Projects project_all, project_one, project_search, project_homeStats
Deployments compose_clearDeployments, compose_cancelDeployment, compose_isolatedDeployment

Getting Your Dokploy API Key

  1. Log into your Dokploy admin panel
  2. Go to Settings → API Keys
  3. Generate a new key with full permissions
  4. Store it securely — never commit it to a repository

Using MCP in Practice

Once wired up, you can ask Hermes:

"Create a new compose deployment for my Go API, connect it to the GitLab repo myorg/my-api, set env vars for the database URL, add a domain with SSL, and deploy it."

Hermes will — autonomously — call:

  1. compose_create → creates the service definition
  2. compose_update → connects it to GitLab source
  3. compose_saveEnvironment → injects secrets
  4. domain_create → adds api.yourdomain.com with Let's Encrypt
  5. compose_deploy → triggers the build and deployment

And if something goes wrong? Hermes can read the logs and troubleshoot.


7. Registering in Dokploy

To add Hermes as a managed service in the Dokploy dashboard:

  1. Open Dokploy admin (admin.yourdomain.com)
  2. Create a New Project (e.g., "Infrastructure")
  3. Choose Docker Compose as the deployment type
  4. Paste the compose YAML from section 4
  5. Set the environment variables
  6. Deploy

After deployment, you'll see Hermes in your dashboard alongside other apps — with logs, restart controls, and resource monitoring.

Alternatively, you can use the Raw source type and manage the compose file through Dokploy's web editor, or use a GitLab source type by pushing the compose file to a repo with auto-deploy enabled.


8. Deploying with Docker CLI (Alternative)

If you prefer not to host Hermes inside Dokploy itself (bootstrapping chicken-and-egg problem), run it directly on the VPS:

docker network create dokploy-network --driver bridge

docker run -d \
  --name hermes-agent \
  --network dokploy-network \
  -v $(pwd)/config:/home/user/.config/hermes \
  -v $(pwd)/data:/home/user/.local/share/hermes \
  -e HERMES_PROVIDER=openrouter \
  -e HERMES_MODEL=anthropic/claude-sonnet-4 \
  -e HERMES_API_KEY=$OPENROUTER_API_KEY \
  -e TELEGRAM_BOT_TOKEN=$TELEGRAM_BOT_TOKEN \
  -e TELEGRAM_CHAT_ID=$TELEGRAM_CHAT_ID \
  -e DOKPLOY_URL=https://admin.yourdomain.com \
  -e DOKPLOY_API_KEY=$DOKPLOY_API_KEY \
  --restart unless-stopped \
  ghcr.io/nousresearch/hermes-agent:latest

Once running, migrate it to Dokploy management by creating a compose stack with the above definition and deploying it.


9. Real-World Workflows

Here's what this setup enables on a daily basis:

Infrastructure Management

  • "Create a Postgres + Redis stack for my new project"
  • "Deploy the latest commit from GitLab and verify the site renders"
  • "Show me all running containers and their memory usage"
  • "Add a Let's Encrypt domain to the API service on port 8080"

Development

  • "Clone the repo, fix the CSS bug, commit to a branch, and open a PR"
  • "Write tests for the auth module and run them"
  • "Review the latest PR for security issues"

Operations

  • "Check the logs for the web app — it's returning 502s"
  • "Scale down non-production services to free memory"
  • "Rotate the database password across all services"

Autonomous Scheduling

  • "Every morning at 9 AM, check all my deployed sites are healthy and report"
  • "Watch this repo for new issues and auto-respond with troubleshooting steps"

10. Security Considerations

Concern Mitigation
API keys in env vars Use Dokploy's built-in environment variable manager — never in compose files
Docker socket exposure Mount :ro (read-only) or omit entirely if not needed
MCP over HTTP Always use HTTPS (Dokploy enforces it)
Dokploy API key Generate a scoped key with only the permissions Hermes needs
Telegram token Store in Dokploy's secure env, not in plaintext
Git token scope Use a project-scoped GitLab token, not a global one

11. Budget Breakdown

Component Cost
VPS (1 vCPU, 4GB RAM) ~$6/mo
AI API costs (OpenRouter, Claude Sonnet) ~$5-20/mo depending on usage
Domain name ~$10-15/yr
Total ~$12-27/mo

Compare this to hosted alternatives:

  • GitHub Copilot: $10-39/user/mo (no infrastructure management)
  • Cursor Pro: $20/user/mo (no infrastructure management)
  • Vercel Pro: $20/mo (hosting only, no agent)
  • A dedicated agent service: easily $50-200+/mo

For a $6 VPS + $5-20 in API calls, you get a full-time AI development agent that manages its own infrastructure. The ROI is hard to beat.


12. Troubleshooting

"Container starts but agent doesn't respond"

Check the logs via Dokploy dashboard or docker logs hermes-agent. Common issues:

  • Missing or invalid API keys
  • Telegram bot token not configured
  • MCP server URL unreachable (DNS/network)

"Dokploy MCP returns empty results"

The Dokploy MCP readLogs tool sometimes returns no content despite a running container. SSH into the VPS and use docker logs <container> directly for reliable log access.

"Agent can't push to GitLab"

Ensure the SSH key in the mounted ./ssh directory is registered with GitLab, or use a personal access token in the GIT_TOKEN environment variable.

"Compose deploy fails instantly"

This usually means Dokploy couldn't parse the compose file or clone the repo. Check:

  • Is the gitlabId set on the compose? (Required for GitLab source type)
  • Is dokploy-network declared as external: true in the compose file?
  • Does the compose file have a version: field? (Dokploy rejects it — remove it)

Conclusion

Deploying Hermes Agent on Dokploy creates a virtuous cycle: an AI agent that can manage the very infrastructure it runs on. The agent deploys apps, monitors health, fixes issues, and frees you to focus on building.

The combination of:

  • Hermes Agent for autonomous AI reasoning and execution
  • Dokploy as a self-hosted PaaS with a full MCP API
  • Budget VPS for low-cost infrastructure

...gives you a development platform that rivals much more expensive setups.

The future is agents that manage their own infrastructure. Start building yours today.

← Retour au Blog

Agent Hermes sur Dokploy : Construisez un Agent de Développement IA Auto-Hébergé avec MCP

Introduction

Les agents IA de codage sont révolutionnaires — mais dépendre de services cloud signifie des coûts récurrents, des problèmes de confidentialité des données et des limitations d'API. Et si vous pouviez exécuter votre propre agent, en permanence, sur un VPS à 6 €/mois ?

Voici Hermes Agent — un agent IA open-source, natif du terminal, capable d'effectuer des tâches multi-étapes, d'écrire du code, de naviguer sur le web et d'orchestrer l'infrastructure. Combiné à Dokploy — une plateforme PaaS auto-hébergée qui expose une API MCP (Model Context Protocol) complète — vous obtenez un agent de développement capable de déployer et de gérer sa propre infrastructure.

Ce guide détaille la configuration exacte que j'utilise quotidiennement.


1. Architecture

Diagramme d'architecture Hermes Agent sur Dokploy

Le flux : Vous envoyez une requete via Telegram → Hermes Agent raisonne et agit (ecrit du code, commit, push vers GitLab) → Le webhook Git ou l'API MCP de Dokploy recupere le changement → Dokploy appelle compose.deploy() → Les conteneurs sont mis a jour → Les logs sont renvoyes a l'agent pour verification. Le tout tourne sur votre propre VPS — zero dependance cloud.


2. Prérequis

  • Un VPS avec au moins 1 vCPU, 4GB RAM (j'utilise un Hostinger premier prix)
  • Ubuntu 24.04 ou similaire
  • Docker et Docker Compose installés
  • Dokploy installé sur le VPS (dokploy.com)
  • Un nom de domaine pointant vers l'IP de votre VPS

3. Installation de Dokploy

Si vous n'avez pas encore installé Dokploy :

curl -sSL https://dokploy.com/install.sh | sh

Cette commande installe Dokploy avec Traefik comme proxy inverse, Let's Encrypt pour le SSL, et une interface web sur admin.votredomaine.com.

Une fois installé, vous aurez accès à un tableau de bord pour :

  • Créer des Projets et Environnements
  • Déployer des stacks Docker Compose
  • Ajouter des domaines avec SSL automatique
  • Visualiser les logs et gérer les déploiements

Point clé : L'API MCP de Dokploy est accessible à la même URL de base que l'interface web — aucun service supplémentaire requis.


4. Docker Compose pour Hermes Agent

Créez un fichier docker-compose.yml pour Hermes Agent :

services:
  hermes:
    image: ghcr.io/nousresearch/hermes-agent:latest
    container_name: hermes-agent
    volumes:
      - ./config:/home/user/.config/hermes
      - ./data:/home/user/.local/share/hermes
      - ./ssh:/home/user/.ssh
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - HERMES_PROVIDER=openrouter
      - HERMES_MODEL=anthropic/claude-sonnet-4
      - HERMES_API_KEY=${OPENROUTER_API_KEY}
      - TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN}
      - TELEGRAM_CHAT_ID=${TELEGRAM_CHAT_ID}
      - GIT_TOKEN=${GIT_TOKEN}
      - DOKPLOY_URL=https://admin.votredomaine.com
      - DOKPLOY_API_KEY=${DOKPLOY_API_KEY}
    ports:
      - "3000"
    restart: unless-stopped
    networks:
      - dokploy-network
    deploy:
      resources:
        limits:
          memory: 1024M
          cpus: '0.75'

networks:
  dokploy-network:
    external: true

Rôle de chaque volume :

Volume Utilité
./config Stocke la config Hermes. Générée automatiquement au premier démarrage — éditez-la ensuite
./data État persistant : compétences, mémoire, tâches planifiées
./ssh Clés SSH Git pour pousser vers GitLab/GitHub
docker.sock (Optionnel) Permet à Hermes d'exécuter des commandes Docker sur l'hôte

Premier démarrage : Au premier lancement du conteneur, Hermes génère un config/hermes.yaml par défaut automatiquement. Ne créez PAS ce fichier manuellement — laissez Hermes l'initialiser, puis éditez les sections nécessaires.

Variables d'Environnement

# Fournisseur IA (pour le raisonnement de l'agent)
OPENROUTER_API_KEY=sk-or-v1-...

# Bot Telegram (pour l'interaction chat)
TELEGRAM_BOT_TOKEN=123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
TELEGRAM_CHAT_ID=7452264766

# Token d'accès GitLab/GitHub (pour les opérations sur dépôts)
GIT_TOKEN=glpat-...

# Clé API Dokploy MCP
DOKPLOY_API_KEY=dpk_...

5. Configuration : hermes.yaml

Après le premier démarrage du conteneur, Hermes génère un config/hermes.yaml par défaut dans le volume monté. Ouvrez-le et ajoutez les sections suivantes :

Activer la messagerie Telegram

messaging:
telegram:
  enabled: true
  bot_token: "${TELEGRAM_BOT_TOKEN}"
  default_chat_id: "${TELEGRAM_CHAT_ID}"

Enregistrer les serveurs MCP Dokploy

mcp_servers:
dokploy:
  command: npx
  args:
    - -y
    - '@dokploy/mcp'
  env:
    DOKPLOY_API_KEY: ${DOKPLOY_API_KEY}
    DOKPLOY_URL: ${DOKPLOY_URL}
  timeout: 120

gitlab:
  command: npx
  args:
    - -y
    - '@modelcontextprotocol/server-gitlab'
  env:
    GITLAB_PERSONAL_ACCESS_TOKEN: ${GIT_TOKEN}
    GITLAB_API_URL: https://gitlab.com/api/v4

Définir le fournisseur et le modèle

provider: openrouter
model: anthropic/claude-sonnet-4

Activer les outils

toolsets:
- terminal
- file
- web
- search
- skills
- cronjob
- memory

Alternative — utilisez la CLI dans le conteneur pour configurer sans éditer le YAML :

# Se connecter au conteneur
docker exec -it hermes-agent bash

# Assistant de configuration
hermes setup

# Ou définir des valeurs individuelles
hermes config set provider openrouter
hermes config set model anthropic/claude-sonnet-4

# Ajouter le serveur MCP Dokploy via CLI
hermes mcp add dokploy \
  --command "npx -y @dokploy/mcp" \
  --env "DOKPLOY_API_KEY=${DOKPLOY_API_KEY}" \
  --env "DOKPLOY_URL=${DOKPLOY_URL}"

# Ajouter le serveur MCP GitLab via CLI
hermes mcp add gitlab \
  --command "npx -y @modelcontextprotocol/server-gitlab" \
  --env "GITLAB_PERSONAL_ACCESS_TOKEN=${GIT_TOKEN}" \
  --env "GITLAB_API_URL=https://gitlab.com/api/v4"

# Activer Telegram
hermes gateway setup

# Vérifier la configuration
hermes doctor

6. Connexion au MCP de Dokploy

C'est la partie la plus puissante. Dokploy expose chaque opération — création de compose, déploiement, ajout de domaine, lecture de logs — sous forme d'outils MCP. Hermes Agent consomme nativement les serveurs MCP, les rendant disponibles comme appels d'outils de première classe.

Ce qu'expose le MCP de Dokploy

Catégorie Outils Disponibles
Compose compose_create, compose_deploy, compose_update, compose_search, compose_one, compose_readLogs, compose_stop, compose_delete, compose_saveEnvironment
Domaines domain_create, domain_update, domain_delete, domain_byComposeId, domain_generateDomain, domain_validateDomain
Fournisseurs Git gitlab_gitlabProviders, gitlab_getGitlabRepositories, gitlab_getGitlabBranches, gitlab_testConnection
Projets project_all, project_one, project_search, project_homeStats
Déploiements compose_clearDeployments, compose_cancelDeployment, compose_isolatedDeployment

Obtenir votre Clé API Dokploy

  1. Connectez-vous à votre panneau d'administration Dokploy
  2. Allez dans Paramètres → Clés API
  3. Générez une nouvelle clé avec les permissions complètes
  4. Stockez-la de manière sécurisée — ne la commitez jamais dans un dépôt

Utilisation Pratique du MCP

Une fois connectée, vous pouvez demander à Hermes :

"Crée un déploiement compose pour mon API Go, connecte-le au dépôt GitLab monorg/mon-api, configure les variables d'environnement pour l'URL de la base de données, ajoute un domaine avec SSL, et déploie-le."

Hermes va — de manière autonome — appeler :

  1. compose_create → crée la définition du service
  2. compose_update → le connecte à la source GitLab
  3. compose_saveEnvironment → injecte les secrets
  4. domain_create → ajoute api.votredomaine.com avec Let's Encrypt
  5. compose_deploy → déclenche la construction et le déploiement

Et si quelque chose se passe mal ? Hermes peut lire les logs et diagnostiquer le problème.


7. Enregistrement dans Dokploy

Pour ajouter Hermes comme service géré dans le tableau de bord Dokploy :

  1. Ouvrez l'administration Dokploy (admin.votredomaine.com)
  2. Créez un Nouveau Projet (ex : "Infrastructure")
  3. Choisissez Docker Compose comme type de déploiement
  4. Collez le YAML compose de la section 4
  5. Définissez les variables d'environnement
  6. Déployez

Après le déploiement, Hermes apparaîtra dans votre tableau de bord aux côtés de vos autres applications — avec logs, contrôles de redémarrage et surveillance des ressources.

Vous pouvez aussi utiliser le type de source Raw et gérer le fichier compose via l'éditeur web de Dokploy, ou utiliser une source GitLab en poussant le fichier compose vers un dépôt avec déploiement automatique.


8. Déploiement avec Docker CLI (Alternative)

Si vous préférez ne pas héberger Hermes dans Dokploy lui-même (problème de l'œuf et de la poule), exécutez-le directement sur le VPS :

docker network create dokploy-network --driver bridge

docker run -d \
  --name hermes-agent \
  --network dokploy-network \
  -v $(pwd)/config:/home/user/.config/hermes \
  -v $(pwd)/data:/home/user/.local/share/hermes \
  -e HERMES_PROVIDER=openrouter \
  -e HERMES_MODEL=anthropic/claude-sonnet-4 \
  -e HERMES_API_KEY=$OPENROUTER_API_KEY \
  -e TELEGRAM_BOT_TOKEN=$TELEGRAM_BOT_TOKEN \
  -e TELEGRAM_CHAT_ID=$TELEGRAM_CHAT_ID \
  -e DOKPLOY_URL=https://admin.votredomaine.com \
  -e DOKPLOY_API_KEY=$DOKPLOY_API_KEY \
  --restart unless-stopped \
  ghcr.io/nousresearch/hermes-agent:latest

Une fois en fonctionnement, migrez-le vers la gestion Dokploy en créant une stack compose avec la définition ci-dessus et en la déployant.


9. Workflows Quotidiens

Voici ce que cette configuration permet au quotidien :

Gestion d'Infrastructure

  • "Crée une stack Postgres + Redis pour mon nouveau projet"
  • "Déploie le dernier commit de GitLab et vérifie que le site s'affiche"
  • "Affiche tous les conteneurs en cours d'exécution et leur utilisation mémoire"
  • "Ajoute un domaine Let's Encrypt au service API sur le port 8080"

Développement

  • "Clone le dépôt, corrige le bug CSS, commite sur une branche et ouvre une PR"
  • "Écris des tests pour le module d'authentification et exécute-les"
  • "Revue la dernière PR pour les problèmes de sécurité"

Opérations

  • "Vérifie les logs de l'application web — elle retourne des 502"
  • "Réduis les ressources des services non critiques pour libérer de la mémoire"
  • "Rotation du mot de passe de la base de données sur tous les services"

Tâches Planifiées Autonomes

  • "Tous les matins à 9h, vérifie que tous mes sites déployés sont sains et fais un rapport"
  • "Surveille ce dépôt pour les nouvelles issues et répond automatiquement avec des pistes de résolution"

10. Considérations de Sécurité

Problème Solution
Clés API dans les variables d'environnement Utilisez le gestionnaire de variables d'environnement intégré de Dokploy — jamais dans les fichiers compose
Exposition du socket Docker Montez en :ro (lecture seule) ou omettez-le si non nécessaire
MCP sur HTTP Utilisez toujours HTTPS (Dokploy l'impose)
Clé API Dokploy Générez une clé avec uniquement les permissions nécessaires à Hermes
Token Telegram Stockez-le dans les variables sécurisées de Dokploy, pas en texte clair
Portée du token Git Utilisez un token GitLab limité au projet, pas un token global

11. Budget

Composant Coût
VPS (1 vCPU, 4GB RAM) ~6 €/mois
Coûts API IA (OpenRouter, Claude Sonnet) ~5-20 €/mois selon l'utilisation
Nom de domaine ~10 €/an
Total ~12-27 €/mois

Comparez cela aux alternatives hébergées :

  • GitHub Copilot : 10-39 $/utilisateur/mois (pas de gestion d'infrastructure)
  • Cursor Pro : 20 $/utilisateur/mois (pas de gestion d'infrastructure)
  • Vercel Pro : 20 $/mois (hébergement uniquement, pas d'agent)
  • Un service d'agent dédié : facilement 50-200+ $/mois

Pour 6 € de VPS + 5-20 € d'appels API, vous obtenez un agent IA de développement à temps plein qui gère sa propre infrastructure. Le retour sur investissement est imbattable.


12. Dépannage

"Le conteneur démarre mais l'agent ne répond pas"

Vérifiez les logs via le tableau de bord Dokploy ou docker logs hermes-agent. Causes fréquentes :

  • Clés API manquantes ou invalides
  • Token du bot Telegram non configuré
  • URL du serveur MCP inaccessible (DNS/réseau)

"Le MCP de Dokploy retourne des résultats vides"

L'outil MCP readLogs de Dokploy retourne parfois un contenu vide malgré un conteneur en cours d'exécution. Connectez-vous en SSH au VPS et utilisez docker logs <conteneur> directement pour un accès fiable aux logs.

"L'agent ne peut pas pousser vers GitLab"

Assurez-vous que la clé SSH dans le répertoire ./ssh monté est enregistrée sur GitLab, ou utilisez un token d'accès personnel dans la variable d'environnement GIT_TOKEN.

"Le déploiement Compose échoue instantanément"

Cela signifie généralement que Dokploy n'a pas pu analyser le fichier compose ou cloner le dépôt. Vérifiez :

  • Le gitlabId est-il défini sur le compose ? (Requis pour le type de source GitLab)
  • dokploy-network est-il déclaré comme external: true dans le fichier compose ?
  • Le fichier compose a-t-il un champ version: ? (Dokploy le rejette — supprimez-le)

Conclusion

Déployer Hermes Agent sur Dokploy crée un cercle vertueux : un agent IA qui peut gérer l'infrastructure même sur laquelle il fonctionne. L'agent déploie des applications, surveille leur santé, corrige les problèmes et vous libère pour vous concentrer sur la construction.

La combinaison de :

  • Hermes Agent pour le raisonnement et l'exécution autonome
  • Dokploy comme PaaS auto-hébergé avec une API MCP complète
  • VPS économique pour une infrastructure à faible coût

...vous donne une plateforme de développement qui rivalise avec des configurations bien plus coûteuses.

L'avenir est aux agents qui gèrent leur propre infrastructure. Commencez à construire le vôtre dès aujourd'hui.