# Huginn

Agent system that watches the web and acts on events you define, for example by sending alerts.

- Replaces: [Zapier](https://openlogs.fyi/alternatives/zapier)
- Summary: Paid workflow automation services, such as Zapier.
- Stack: Ruby (language), MySQL (database)
- Deployment: docker_compose
- License: MIT (osi) [source](https://github.com/huginn/huginn/blob/74581b082883cd9aa894db7c5671fa7fda6c579f/LICENSE)
- Business model: unknown. The README at the pinned commit does not state a business model, so it stays unknown. ([source](https://github.com/huginn/huginn/blob/74581b082883cd9aa894db7c5671fa7fda6c579f/README.md), read 2026-10-22)
- 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.
- Requirements: not stated
- Repository: [huginn/huginn](https://github.com/huginn/huginn)

## Install

1. Docker with the Compose plugin and git ([source](https://github.com/huginn/huginn/blob/74581b082883cd9aa894db7c5671fa7fda6c579f/docker/single-process/README.md))

   ```text
   A host with Docker, the Docker Compose plugin and git. This entry needs a checkout of the project repository.
   ```

2. Get the source at commit 74581b0 ([source](https://github.com/huginn/huginn/blob/74581b082883cd9aa894db7c5671fa7fda6c579f/docker/single-process/README.md))

   ```bash
   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
   ```

3. Go to the folder the docs use ([source](https://github.com/huginn/huginn/blob/74581b082883cd9aa894db7c5671fa7fda6c579f/docker/single-process/README.md))

   ```bash
   cd docker/single-process
   ```

4. The compose file in the checkout: docker/single-process/docker-compose.yml (shown here for reading) ([source](https://github.com/huginn/huginn/blob/74581b082883cd9aa894db7c5671fa7fda6c579f/docker/single-process/docker-compose.yml))

   ```yaml
   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
   ```

5. What the compose file check ran with ([source](https://github.com/huginn/huginn/blob/74581b082883cd9aa894db7c5671fa7fda6c579f/docker/single-process/README.md))

   ```text
   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.
   ```

6. Start it ([source](https://github.com/huginn/huginn/blob/74581b082883cd9aa894db7c5671fa7fda6c579f/docker/single-process/README.md))

   ```bash
   docker compose up -d
   ```

7. Open the app ([source](https://github.com/huginn/huginn/blob/74581b082883cd9aa894db7c5671fa7fda6c579f/docker/single-process/docker-compose.yml))

   ```text
   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. ([source](https://github.com/huginn/huginn/blob/74581b082883cd9aa894db7c5671fa7fda6c579f/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. ([source](https://github.com/huginn/huginn/blob/74581b082883cd9aa894db7c5671fa7fda6c579f/docker/single-process/docker-compose.yml), checked 2026-10-22)

### Signals

Computed from a GitHub snapshot taken 2026-10-22.

- Open issues and pull requests: 703
- Stars: 50090, forks: 4313
- Last push: 2026-10-18 (4 days ago)
- Latest release: v2026.10.14 on 2026-10-13 (9 days ago)

## Sources

- [Repository: https://github.com/huginn/huginn](https://github.com/huginn/huginn)
- [License: https://github.com/huginn/huginn/blob/74581b082883cd9aa894db7c5671fa7fda6c579f/LICENSE](https://github.com/huginn/huginn/blob/74581b082883cd9aa894db7c5671fa7fda6c579f/LICENSE)
- [Business model: https://github.com/huginn/huginn/blob/74581b082883cd9aa894db7c5671fa7fda6c579f/README.md](https://github.com/huginn/huginn/blob/74581b082883cd9aa894db7c5671fa7fda6c579f/README.md)
- [Compose file: https://github.com/huginn/huginn/blob/74581b082883cd9aa894db7c5671fa7fda6c579f/docker/single-process/docker-compose.yml](https://github.com/huginn/huginn/blob/74581b082883cd9aa894db7c5671fa7fda6c579f/docker/single-process/docker-compose.yml)
- [Install step: https://github.com/huginn/huginn/blob/74581b082883cd9aa894db7c5671fa7fda6c579f/docker/single-process/README.md](https://github.com/huginn/huginn/blob/74581b082883cd9aa894db7c5671fa7fda6c579f/docker/single-process/README.md)

---
Canonical: https://openlogs.fyi/tools/huginn  
Last updated: 2026-10-22
