// 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.
| Platform | Main license | Commercial part |
|---|---|---|
| n8n | Sustainable Use License (not open source) | .ee files — Enterprise License |
| Windmill | AGPLv3 (API clients — Apache 2.0) | corporate features in the code and prebuilt bundles — separate license |
| Activepieces | MIT | directories packages/ee/ and packages/server/api/src/app/ee |
| Automatisch | AGPL-3.0 | files with .ee. in the name |
| Huginn | MIT | none |
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:
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 -dThis 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):
git clone --depth 1 https://github.com/activepieces/activepieces.git
cd activepieces
sh tools/deploy.sh
docker compose -p activepieces up -dThe 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:
git clone https://github.com/automatisch/automatisch.git
cd automatisch
docker compose upThe 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
| Situation | What to choose |
|---|---|
| Visual flows, many ready integrations, internal use | n8n |
| Automation as code, internal tools with forms | Windmill |
| Embed an automation builder in your product | Activepieces |
| Simple linear scenarios, need an open license | Automatisch (considering slowed development) |
| Monitoring sites and feeds, notifications | Huginn |
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
.envis 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
As always, prompt and high-quality! I turn to Mikhail for server issues.
As always, prompt and high-quality! For server-related issues, I turn to Mikhail.
Mikhail is an outstanding professional! You can tell he has a great deal of experience. The work was done precisely and on time. We had to tinker a bit because the project installed on the server wasn't perfect, but Mikhail carefully and thoughtfully guided us on what to do and how. In the end, everything worked! I recommend him to anyone who values quality.
Mikhail is an excellent performer! You can tell he has a wealth of experience. The work was done precisely and on time. We had to tinker due to imperfections in the project that was being installed on the server, but …
// 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)
Или оставьте заявку здесь:
// Related