Pourquoi auto-héberger Huginn sur un VPS
Là où Node-RED orchestre des flux par glisser-déposer, Huginn raisonne en agents qui s'abonnent et émettent des "events". Sa grande force, c'est la surveillance du web : un Website Agent extrait du contenu d'une page via sélecteurs CSS ou XPath, détecte les changements, et déclenche un autre agent quand une condition est remplie. On l'utilise pour suivre un prix, surveiller une disponibilité, agréger des sources RSS, ou recevoir une alerte quand une page change — sans dépendre d'IFTTT ou Zapier qui facturent et plafonnent les exécutions. Auto-hébergé sur un VPS, Huginn tourne en permanence, garde vos scénarios et vos identifiants en privé, et n'a aucune limite imposée sur le nombre d'agents ou de vérifications.
Les bénéfices concrets de l'auto-hébergement
- Agents de surveillance web par sélecteurs CSS/XPath, avec détection de changement.
- Scénarios en chaîne : un event d'un agent déclenche l'action d'un autre.
- Alertes e-mail, webhook, Telegram ou SMS sur condition personnalisée.
- Agrégation de flux RSS et d'API multiples dans un seul tableau de bord.
- Aucune limite d'exécutions ni facturation à la tâche, contrairement aux SaaS.
- Identifiants et scénarios de veille conservés en privé sur votre VPS.
Prérequis matériels et logiciels
Huginn est une application Ruby on Rails accompagnée d'une base de données (MySQL/MariaDB ou PostgreSQL) et de workers d'arrière-plan, ce qui le rend plus gourmand que Node-RED. Prévoyez un VPS 2 vCPU / 2 Go de RAM au minimum, et plutôt 4 Go si vous faites tourner de nombreux agents en parallèle. Comptez 10 à 20 Go de disque pour l'application, la base et l'historique des events. Côté logiciel : Ubuntu 22.04, Docker et Docker Compose (la voie la plus simple, qui embarque app + base + worker), un compte SMTP pour les notifications par e-mail, et un sous-domaine type agents.mondomaine.ma.
Déploiement pas à pas
Préparer la stack
En SSH, installez Docker et Docker Compose. Récupérez le docker-compose.yml officiel de Huginn, qui définit trois services : l'application web, la base de données et le worker qui exécute les agents à intervalle régulier.
Configurer les variables d'environnement
Renseignez les variables critiques : APP_SECRET_TOKEN (généré avec openssl rand -hex 64), DOMAIN=agents.mondomaine.ma, et les paramètres SMTP (SMTP_USER_NAME, SMTP_PASSWORD, SMTP_SERVER) pour activer les notifications et la création de compte.
Lancer et initialiser la base
Démarrez avec docker compose up -d. Au premier lancement, Huginn crée le schéma de base de données et un compte admin par défaut (admin / password) : connectez-vous et changez ce mot de passe immédiatement.
Vérifier le worker
Contrôlez que le worker tourne avec docker compose logs -f. C'est lui qui réveille les agents selon leur planification (schedule) : sans worker actif, vos agents de surveillance ne s'exécutent jamais.
Mettre le reverse proxy et le SSL
Placez Caddy ou Nginx devant le port 3000 exposé par Huginn pour agents.mondomaine.ma, avec certificat Let's Encrypt. Vérifiez que DOMAIN correspond bien au domaine public, sinon les liens des e-mails seront cassés.
Créer un premier agent
Dans l'interface, créez un Website Agent qui surveille une page, configurez l'extraction CSS, puis reliez-le à un Email Agent. Lancez un "Dry Run" pour valider l'extraction avant d'activer la planification.
Pour un scraping fiable, testez vos sélecteurs CSS/XPath avec le "Dry Run" de chaque agent avant de planifier : vous voyez les events produits sans déclencher d'action réelle. Combinez un Website Agent avec un Event Formatting Agent et un Trigger Agent (condition sur une valeur) pour ne recevoir d'alerte que lorsqu'un seuil est franchi — par exemple un prix qui passe sous une cible — au lieu d'être notifié à chaque vérification. Pensez à régler schedule raisonnablement (toutes les heures plutôt que chaque minute) pour ne pas vous faire bloquer par les sites surveillés.