Why self-host Huginn on a VPS
Where Node-RED orchestrates flows through drag and drop, Huginn thinks in terms of agents that subscribe and emit "events". Its great strength is web monitoring: a Website Agent extracts content from a page via CSS or XPath selectors, detects changes, and triggers another agent when a condition is met. You use it to track a price, monitor availability, aggregate RSS sources, or receive an alert when a page changes — without relying on IFTTT or Zapier, which charge for and cap executions. Self-hosted on a VPS, Huginn runs continuously, keeps your scenarios and credentials private, and has no imposed limit on the number of agents or checks.
The concrete benefits of self-hosting
- Web monitoring agents using CSS/XPath selectors, with change detection.
- Chained scenarios: an event from one agent triggers another's action.
- Email, webhook, Telegram or SMS alerts based on custom conditions.
- Aggregation of multiple RSS feeds and APIs into a single dashboard.
- No execution limits or per-task billing, unlike SaaS offerings.
- Credentials and monitoring scenarios kept private on your VPS.
Hardware and software requirements
Huginn is a Ruby on Rails application accompanied by a database (MySQL/MariaDB or PostgreSQL) and background workers, which makes it more resource-hungry than Node-RED. Plan for a VPS with at least 2 vCPU / 2 GB of RAM, and preferably 4 GB if you run many agents in parallel. Allow 10 to 20 GB of disk for the application, the database and the event history. On the software side: Ubuntu 22.04, Docker and Docker Compose (the simplest route, which bundles app + database + worker), an SMTP account for email notifications, and a subdomain such as agents.mydomain.com.
Step-by-step deployment
Prepare the stack
Over SSH, install Docker and Docker Compose. Fetch Huginn's official docker-compose.yml, which defines three services: the web application, the database and the worker that runs the agents at regular intervals.
Configure the environment variables
Fill in the critical variables: APP_SECRET_TOKEN (generated with openssl rand -hex 64), DOMAIN=agents.mydomain.com, and the SMTP settings (SMTP_USER_NAME, SMTP_PASSWORD, SMTP_SERVER) to enable notifications and account creation.
Launch and initialize the database
Start with docker compose up -d. On first launch, Huginn creates the database schema and a default admin account (admin / password): log in and change this password immediately.
Check the worker
Check that the worker is running with docker compose logs -f. It is what wakes up the agents according to their schedule: without an active worker, your monitoring agents never run.
Set up the reverse proxy and SSL
Place Caddy or Nginx in front of the 3000 port exposed by Huginn for agents.mydomain.com, with a Let's Encrypt certificate. Make sure DOMAIN matches the public domain, otherwise the links in emails will be broken.
Create a first agent
In the interface, create a Website Agent that monitors a page, configure the CSS extraction, then link it to an Email Agent. Run a "Dry Run" to validate the extraction before enabling the schedule.
For reliable scraping, test your CSS/XPath selectors with each agent's "Dry Run" before scheduling: you see the events produced without triggering any real action. Combine a Website Agent with an Event Formatting Agent and a Trigger Agent (condition on a value) to receive an alert only when a threshold is crossed — for example a price dropping below a target — instead of being notified on every check. Remember to set schedule reasonably (hourly rather than every minute) so you don't get blocked by the monitored sites.