Huginn
Agent system that watches the web and acts on events you define, for example by sending alerts.
- Replaces
-
Paid workflow automation services, such as Zapier.
All open-source alternatives to Zapier
- Difficulty
-
Difficulty: Medium
4 services (2 database or broker: mysql), 0 volume mounts, 1 env value to set, no elevated host access. Heuristic score 5 of 11: medium. A source checkout is needed, so the rating is at least medium.
- Stack
Ruby (language), MySQL (database)
- Deployment
docker_compose
- Requirements
Not stated.
- License
-
MIT(OSI-approved open source) - Business model
-
Unknown
The README at the pinned commit does not state a business model, so it stays unknown.
Source: github.com/huginn/huginn/blob/74581b0/README.md, read on .
- Repository
GitHub stats
- Stars
- 50,090
- Forks
- 4,313
- Open issues and pull requests
- 703
- Last push
- 2026-10-18
- Latest release
- v2026.10.14
- Released
- 2026-10-13
From the GitHub API on . These numbers are a snapshot, not live. GitHub detected the license as MIT.
Compose file
version: '2'
services:
mysqldata:
image: mysql:8.4
command: /bin/true
mysql:
image: mysql:8.4
restart: always
env_file:
- ../mysql.env
volumes_from:
- mysqldata
web:
image: ghcr.io/huginn/huginn-single-process
restart: always
ports:
- "3000:3000"
# Uncomment to run the bundled Smokescreen egress proxy and route all
# outbound HTTP(S) requests through it, so that Agents cannot reach
# private or link-local addresses. See doc/manual/outbound-requests.md.
# environment:
# - ENABLE_SMOKESCREEN=true
env_file:
- ../mysql.env
depends_on:
- mysql
threaded:
image: ghcr.io/huginn/huginn-single-process
command: /scripts/init bin/threaded.rb
restart: always
# Uncomment to run the bundled Smokescreen egress proxy and route all
# outbound HTTP(S) requests through it, so that Agents cannot reach
# private or link-local addresses. See doc/manual/outbound-requests.md.
# environment:
# - ENABLE_SMOKESCREEN=true
env_file:
- ../mysql.env
depends_on:
- mysql
- web
From the app's own repository: github.com/huginn/huginn/blob/74581b0/docker/single-process/docker-compose.yml.
Compose file from huginn/huginn, used inside a checkout of that repository (documented setup B).
Install
- Docker with the Compose plugin and git (github.com/huginn/huginn/blob/74581b0/docker/single-process/README.md)
A host with Docker, the Docker Compose plugin and git. This entry needs a checkout of the project repository.
- Get the source at commit 74581b0 (github.com/huginn/huginn/blob/74581b0/docker/single-process/README.md)
git init huginn cd huginn git remote add origin https://github.com/huginn/huginn.git git sparse-checkout init --cone git sparse-checkout set docker/single-process git fetch --depth 1 --filter=blob:none origin 74581b082883cd9aa894db7c5671fa7fda6c579f git checkout FETCH_HEAD - Go to the folder the docs use (github.com/huginn/huginn/blob/74581b0/docker/single-process/README.md)
cd docker/single-process - The compose file in the checkout: docker/single-process/docker-compose.yml (shown here for reading) (github.com/huginn/huginn/blob/74581b0/docker/single-process/docker-compose.yml)
Use the compose file shown above.
- What the compose file check ran with (github.com/huginn/huginn/blob/74581b0/docker/single-process/README.md)
The compose file check ran in a checkout of huginn/huginn at 74581b082883cd9aa894db7c5671fa7fda6c579f (a sparse checkout: the top-level files and the folder docker/single-process), in the folder docker/single-process. The Docker guide for the single-process image tells the reader to run docker-compose up -d in the docker/single-process folder.
- Start it (github.com/huginn/huginn/blob/74581b0/docker/single-process/README.md)
docker compose up -d - Open the app (github.com/huginn/huginn/blob/74581b0/docker/single-process/docker-compose.yml)
Open http://localhost:3000. The compose file publishes host port 3000 for the web service.
Compose file check: config_ok on 2026-10-22.
Gotchas and maintenance
Gotchas
- Some images use the latest tag or no tag. Images without a pinned version: web: ghcr.io/huginn/huginn-single-process (no tag), threaded: ghcr.io/huginn/huginn-single-process (no tag). A later pull can get a different version. (github.com/huginn/huginn/blob/74581b0/docker/single-process/docker-compose.yml, checked 2026-10-22)
- The compose file publishes host ports. Host ports: 3000 (web). A port without a host address listens on all host network interfaces. (github.com/huginn/huginn/blob/74581b0/docker/single-process/docker-compose.yml, checked 2026-10-22)
Signals
- Open issues and pull requests: 703
- Last push: 2026-10-18 (4 days before this page was built)
- Latest release: v2026.10.14 on 2026-10-13 (9 days before this page was built)