// Engineering Log

n8n: Part 4 — Automation on your own server: Windmill, Activepieces, Automatisch

Published on 2026-09-22

// Fast route

This article belongs to the topic Deploy and reliability.

Cloud automation services — Zapier, Make, Albato — and their comparison with n8n are covered in the third part of the series. This article is about something else: which platforms you can deploy on your own server instead of n8n, how they differ in architecture and licensing, and when they may be a better fit.

Common to all: data and service accounts remain on your server, there are no per-run charges, and maintenance — updates, backups, security — is your responsibility. How to operate your own n8n is described in the second part; requirements for these platforms are similar.

Licenses: what to look for

Almost all platforms in this class have an “open” part alongside commercial parts. Before deploying, read the LICENSE file in the repository — it determines whether you can embed the platform in your product and sell access to it.

PlatformMain licenseCommercial part
n8nSustainable Use License (not open source).ee files — Enterprise License
WindmillAGPLv3 (API clients — Apache 2.0)corporate features in the code and prebuilt bundles — separate license
ActivepiecesMITdirectories packages/ee/ and packages/server/api/src/app/ee
AutomatischAGPL-3.0files with .ee. in the name
HuginnMITnone

Windmill — for teams with developers

Windmill is a platform where the basis of automation is scripts in Python, TypeScript, Go, Bash, SQL and other languages. Scripts are composed into flows, forms and simple internal UIs are generated automatically, and runs are triggered on a schedule, by webhook or manually. Tasks are executed by separate worker processes that can be scaled under load.

The project is under very active development: version v1.816.0 was released on September 21, 2026.

License: server and UI code — AGPLv3, client libraries — Apache 2.0, corporate features — commercial license. Community Edition prebuilt images can be used for free within the built-in limits, but selling them as a managed service or embedding them without a contract is not allowed.

Installation per the official docs:

bash
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/docker-compose.yml -o docker-compose.yml
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/Caddyfile -o Caddyfile
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/.env -o .env
docker compose up -d

This brings up PostgreSQL, the Windmill server, workers and Caddy; the UI opens on port 80. The default administrator account is specified in the documentation (password changeme) — it should be changed immediately after login.

When to use instead of n8n: if your team has developers, automation is mainly code, and a visual builder gets in the way more than it helps. Useful when you need internal tools with forms and strict access control.

Activepieces — platform for embedding

Activepieces is similar to n8n in concept: a visual flow builder and ready integrations (pieces). The main difference is the license. The core code is distributed under MIT, so you can embed the platform in your product and give customers a builder. Corporate features live in separate directories under a commercial license; embedding via the SDK is considered a paid capability — check terms with the developers.

The project is active: version 0.91.1 was released on September 21, 2026.

Installation per the docs (requires Docker Compose v2, at least 2 vCPU and 4 GB memory):

bash
git clone --depth 1 https://github.com/activepieces/activepieces.git
cd activepieces
sh tools/deploy.sh
docker compose -p activepieces up -d

The UI is on port 8080 by default. Data is stored in the postgres_data volume, and the encryption key is in the .env file: without AP_ENCRYPTION_KEY saved service connections cannot be decrypted. You should copy the .env file together with the database backup.

When to use instead of n8n: if you are building a product and want to embed an automation builder for your customers, and n8n’s license does not allow that.

Automatisch — simple Zapier replacement

Automatisch is a visual builder in the spirit of Zapier: a trigger and a sequence of actions, without complex logic. License — AGPL-3.0; files with .ee. in the name are under a corporate license.

Quick trial installation:

bash
git clone https://github.com/automatisch/automatisch.git
cd automatisch
docker compose up

The UI is on port 3000; the default account from the documentation should be changed immediately in the settings.

Development has slowed: the last release v0.15.0 came out in August 2025, and the last changes in the repository are from February 2026. This should be taken into account for new deployments.

When to use instead of n8n: for simple linear scenarios, when you need a fully open license and do not require branching, custom code and hundreds of integrations.

Huginn — agents for monitoring

Huginn is a system of “agents” that monitor websites, feeds and APIs, create events and pass them to each other. License MIT, the project is alive: release v2026.09.22 was published on September 21, 2026. For installation the developers provide an official Docker image; the default admin is admin, and the password is set during initial configuration.

When to use instead of n8n: for monitoring changes on websites, data collection and notifications, if you are ready for a UI aimed at technical users.

How to choose

SituationWhat to choose
Visual flows, many ready integrations, internal usen8n
Automation as code, internal tools with formsWindmill
Embed an automation builder in your productActivepieces
Simple linear scenarios, need an open licenseAutomatisch (considering slowed development)
Monitoring sites and feeds, notificationsHuginn

Common mistakes

  • Not reading the license. You embed the platform in a product or open access to customers, but the license forbids it. This is a direct risk with n8n and Windmill.
  • Losing the encryption key. A database backup without the key from .env is useless: service connections will have to be recreated.
  • Leaving default credentials and exposing the UI to the Internet.
  • Running the database on SQLite under load. PostgreSQL is required for a production setup.
  • Not updating. These projects release versions every week, and falling behind by six months turns an update into a migration.

// Similar task

If you are dealing with something similar

This article belongs to one of the main working topics. You can keep reading on the topic, go to the homepage to understand what I do, or open the service pages directly.

Article topic

Deploy and reliability

Docker, CI/CD, releases, monitoring, observability, and incident handling.

Typical tasks behind this topic

  • Set up deployment without manual chaos
  • Add monitoring, alerts, and baseline observability
  • Investigate incidents and stabilize production

// Next step

If you need help with this topic, not just another article, it is better to go straight to the service page. The homepage and topic collection stay available as secondary routes.

Open services

// Reviews

Related reviews

N_Konstantin

VPS setup, server setup

2025-10-10 · ★ 5/5

A settled customer

// Contact

Need help?

Get in touch with me and I'll help solve the problem

I reply within one business day (03:00-13:00 GMT)

Или оставьте заявку здесь:

Confirm that you are not a bot.

Write and get a quick reply