Run your own automation platform with Activepieces and Docker
Activepieces does what Make and Zapier do, except it runs on your server with no per-execution billing. The full Docker Compose install takes under fifteen minutes.
Short answer
Activepieces is an open source automation platform you can install on your own VPS with Docker Compose. Once it is up, you build visual flows just like in Make or Zapier, but with no execution limit and no variable cost: you only pay for the server. The install is three steps: download the compose file, adjust four variables and bring the containers up.
- Last verified
- June 24, 2026
- Tested with
- Activepieces 0.5x con Docker Compose sobre Ubuntu 24.04
Antes de empezar necesitas
- A VPS with at least 2 GB of RAM
- Docker and Docker Compose installed
- A domain or subdomain pointing to the server, if you want HTTPS
Cloud automation platforms charge per run. At first you do not notice. Once a flow runs every five minutes, the bill starts growing on its own and the free plan runs out in the first week.
Activepieces solves that by changing the model: it is open source, it installs on your own server, and the price stops depending on how many times something runs.
What you are going to set up
Three containers: the application, a PostgreSQL database and Redis for the job queue. Docker Compose brings them up together and keeps them wired to each other.
1. Prepare the project folder
mkdir -p /opt/activepieces && cd /opt/activepieces
Putting each tool in its own folder under /opt looks like a detail, but once you have five of them installed you will be glad you know where each one lives.
2. Download the compose file and the variables
curl -fsSL https://raw.githubusercontent.com/activepieces/activepieces/main/docker-compose.yml -o docker-compose.yml
curl -fsSL https://raw.githubusercontent.com/activepieces/activepieces/main/.env.example -o .env
3. Set the variables that matter
Open the .env file and change at least these four:
AP_FRONTEND_URL=https://automate.yourdomain.com
AP_ENCRYPTION_KEY=a_long_random_string
AP_JWT_SECRET=another_long_random_string
AP_POSTGRES_PASSWORD=a_strong_password
To generate the random strings without making them up yourself:
openssl rand -hex 32
4. Bring up the containers
docker compose up -d
The first run takes a couple of minutes because it downloads the images. Then check that all three are up:
docker compose ps
All three should show as running. If Activepieces restarts in a loop, it is almost always because it cannot talk to PostgreSQL: check that the password in .env is the same in both services.
5. Put HTTPS in front of it
Activepieces listens on port 80 inside the container. Exposing it directly to the internet without encryption means the credentials you connect travel in the clear. Put a reverse proxy with a certificate in front (Caddy and Nginx Proxy Manager are the most convenient options) before connecting any real account.
Common mistakes
Leaving AP_FRONTEND_URL on localhost. OAuth authorisation links are generated from that value. If it points to localhost, no connection to Google or Slack will ever complete.
Not backing up the PostgreSQL volume. That is where your flows and your credentials live. A mistyped docker compose down -v wipes them without asking.
Installing it on a server with 1 GB of RAM. It starts, and then it dies in the middle of a run with no clear explanation in the logs.
Alternatives
n8n is more powerful for complex logic and ships more nodes, but its learning curve is steeper. Make still wins on integration catalogue and does not ask you to administer anything. The full comparison is in Make vs n8n vs Activepieces.
Frequently asked questions
Does Activepieces fully replace Make or Zapier?
In the essentials, yes: triggers, actions, branching and custom code. Where it loses is the integration catalog; Zapier has thousands and Activepieces has hundreds. Check that the pieces you need exist before moving an important flow.
How much RAM does it use?
With the database included, the full install runs comfortably in 2 GB for personal use. If you are going to run many flows in parallel or with large files, 4 GB is better.
Can I migrate my Make scenarios?
There is no automatic import. Flows have to be rebuilt by hand. For a handful of automations that is an afternoon; for dozens, consider migrating in stages and leaving the critical ones for last.
How do I update it?
Change the image tag in the compose file, run `docker compose pull` and then `docker compose up -d`. Back up the PostgreSQL volume before every major update.

