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 withopenssl 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 theirschedule: without an active worker, your monitoring agents never run.Set up the reverse proxy and SSL
Place Caddy or Nginx in front of the
3000port exposed by Huginn foragents.mydomain.com, with a Let's Encrypt certificate. Make sureDOMAINmatches 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.