Pasando del desarrollo local a la producción, la elección de la infraestructura determina la fiabilidad y la capacidad de mantenimiento. Así es como proporcioné un VPS para albergar mi sitio y desplegar el agente Hermes, siguiendo un enfoque reproducible y seguro.
1. Elección del proveedor y el tamaño
Opí por un VPS en un anfitrión europeo (RGPD friendly) con:
- 2 vCPU, 4 GB de RAM, 80 GB NVMe SSD
- OS: Ubuntu 24.04 LTS (apoyo a largo plazo)
- IP fija - DNS gestionado en el lado del registrador
El tamaño deja margen para el agente Hermes, el servidor web (Nginx) y una posible base de datos local.
2. Reparamiento inicial (primero 15 min)
# Mise à jour
apt update && apt upgrade -y
# Utilisateur non-root + clé SSH
adduser deploy
usermod -aG sudo deploy
mkdir -p /home/deploy/.ssh && cp ~/.ssh/authorized_keys /home/deploy/.ssh/
chown -R deploy:deploy /home/deploy/.ssh
# SSH hardening
sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl reload sshd
# Pare-feu minimal
ufw allow OpenSSH
ufw allow 'Nginx Full'
ufw enable
3. Instalación del agente Hermes
El agente Hermes (supervisión/inventario) se instala a través de un paquete proporcionado:
# Dépôt officiel
curl -fsSL https://repo.hermes-agent.io/gpg | gpg --dearmor -o /usr/share/keyrings/hermes.gpg
echo "deb [signed-by=/usr/share/keyrings/hermes.gpg] https://repo.hermes-agent.io/stable any main" > /etc/apt/sources.list.d/hermes.list
apt update && apt install -y hermes-agent
# Configuration minimale
cat > /etc/hermes/agent.yaml <<'EOF'
server_url: "https://hermes.mondomaine.fr"
token: "{{ VAULT_HERMES_TOKEN }}"
tags:
- role:web
- env:prod
EOF
systemctl enable --now hermes-agent
El token se inyecta a través de un gestor secreto (Vault/SOPS) - nunca es difícil en el repositorio.
4. Despliegue del sitio (Nginx - CI/CD)
- Nginx: Configuración TLS vía Certbot (Let's Encrypt), los encabezados de seguridad (HSTS, CSP), límite de velocidad.
- CI/CD: Acciones de GitHub - SSH
rsyncsystemctl reload nginx. El oleoducto también valida la salud del agente Hermes después del despliegue.
5. Supervisión y alerta
El agente Hermes sube:
- métricas de sistema (CPU, RAM, disco, red)
- Estado de los servicios críticos (nginx, ssh, hermes-agente)
- Registros estructurados (JSON) a Loki
Se activa una alerta de PagerDuty si el agente no ha estado haciendo un latido durante 5 minutos.
6. Automatización para la reproducibilidad
Todo está codificado en un libro de jugadas Ansible (roles: common, nginx, hermes-agent. certbotEl aprovisionamiento de un nuevo nodo dura 10 minutos.
ansible-playbook -i inventory/prod site.yml --limit vps-web-01
Examen
- Tiempo total: 45 min (incluyendo 20 minutos de DNS/Linamos a criptar)
- Coste mensual: 6 euros/mes
- ****Mantenimiento: actualizaciones sin vigilancia de las actualizaciones - Auto TLS renovación
El agente Hermes da visibilidad inmediata desde el primer minuto. Siguiente paso: añadir un segundo nodo detrás de un equilibrador de carga para la alta oferta.


