---
title: "Deploy Activepieces"
description: "Activepieces: open-source Zapier alternative with 400+ automation pieces"
category: "Automation"
url: https://railway.com/deploy/kit-activepieces-build-0919
---

# Deploy Activepieces

Activepieces: open-source Zapier alternative with 400+ automation pieces

**[Deploy Activepieces on Railway](https://railway.com/template/kit-activepieces-build-0919)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/kit-activepieces-build-0919/manifest.json

- **Creator:** Will
- **Category:** Automation

## Template content

### Redis https://devicons.railway.com/i/redis.svg

- **Image:** redis:8.2@sha256:7d1e4ce8b9395088377ab382d1f6cfdbd13b3690795198a0399ab8d683064d6d
- **Start command:** `/bin/sh -c "rm -rf $RAILWAY_VOLUME_MOUNT_PATH/lost+found/ && exec docker-entrypoint.sh redis-server --requirepass $REDIS_PASSWORD --save 60 1 --dir $RAILWAY_VOLUME_MOUNT_PATH"`

### Activepieces https://bogusz.co/external/activepieces-icon.png

- **Image:** activepieces/activepieces:0.91.0@sha256:58414dfc94c4c6b148d286aed455344ae751d68b5723ed174bd045ff6e3d5db3
- **Health check:** /api/v1/health
- **Public domain:** Yes

### Postgres https://devicons.railway.com/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:18@sha256:3b8bc16ccb823c9a293b09d20d4180049502ee2b243b5989d59e258450044e22

## Documentation

# Deploy and Host Activepieces with Railway

Activepieces is an open-source automation platform - a self-hosted alternative to Zapier and Make - with a visual flow builder, 400+ integration "pieces" (Slack, Gmail, Notion, OpenAI, Stripe, webhooks, HTTP, custom TypeScript code) and an MCP server so AI agents can use the same integrations. This template deploys the official Activepieces image pinned by digest with Postgres and Redis wired in over private networking, every secret generated for you, and a deployment healthcheck. **There is nothing to fill in.** After the deploy, open the public URL: the first sign-up becomes the platform admin.

**Plan requirements.** Measured on this exact stack after the first flow ran: the Activepieces container idles around **750 MB** and peaked at **1.0 GB** during sign-up, migrations and a webhook run; Postgres about 60 MB and Redis about 10 MB. Budget **2 GB or more** for the app service (Hobby plan or higher). It will not fit the Free plan's 0.5 GB and is tight on Trial's 1 GB, where a flow run can push it over the limit.

## About Hosting Activepieces

Activepieces runs as a single container that serves the web app, the API and the worker (`AP_CONTAINER_TYPE=WORKER_AND_APP`). It stores flows, runs, connections and users in Postgres and uses Redis for the job queue, so all three services must be up for flows to run. The application migrates its own database schema at startup. This template runs the worker in `UNSANDBOXED` mode, which is what upstream recommends for a single trusted team on a host without Docker-in-Docker; each code step still runs in its own process. Connections (API keys you add to pieces) are encrypted at rest with `AP_ENCRYPTION_KEY`; keep a copy of that variable - rotating it makes existing connections unreadable.

## Common Use Cases

- Replace a paid Zapier or Make plan with unlimited self-hosted flows
- Catch webhooks from Stripe, GitHub, Typeform, or your own app and fan them out to Slack, email, sheets and databases
- Schedule polling and reporting jobs (RSS, HTTP APIs, SQL) without writing a service
- Give an AI agent tools through the built-in MCP server backed by your own connections
- Run TypeScript steps with npm packages inside a flow, with retries and error branches

## Dependencies for Activepieces Hosting

- `activepieces/activepieces:0.91.0` (Docker Hub, pinned by digest)
- `ghcr.io/railwayapp-templates/postgres-ssl:18` (Railway's Postgres image, pinned by digest) on a `/var/lib/postgresql/data` volume
- `redis:8.2` (Docker Official Image, pinned by digest) on a `/data` volume

### Deployment Dependencies

- [Activepieces documentation](https://www.activepieces.com/docs) and the [environment variable reference](https://www.activepieces.com/docs/install/configuration/environment-variables)
- [Activepieces on GitHub](https://github.com/activepieces/activepieces) (MIT core, with an enterprise-licensed `ee/` directory)
- [Railway volumes](https://docs.railway.com/volumes) and [private networking](https://docs.railway.com/networking/private-networking)

### Implementation Details

**First run.** Open the `Activepieces` service's public domain. Sign up - the first account becomes the platform admin and further sign-ups are invitation-only by default. Build a flow, publish it, and it runs on the schedule or webhook you chose.

**Webhooks.** Each flow's catch-webhook URL is `https://YOUR-DOMAIN/api/v1/webhooks/FLOW_ID`. `AP_FRONTEND_URL` is set to your Railway public domain automatically; if you attach a custom domain, update that variable to match and redeploy.

**Generated secrets.** `AP_ENCRYPTION_KEY` (32 hex characters) and `AP_JWT_SECRET` are generated at deploy time, as are the Postgres and Redis passwords. Back up `AP_ENCRYPTION_KEY` with your database backups.

**Healthcheck.** Railway polls `/api/v1/health` before routing traffic to a new deployment, so a redeploy or upgrade only cuts over once the app has finished its migrations.

**Persistence.** Flows, runs and connections live in Postgres on a volume; Redis holds only the job queue. A redeploy or restart of the app keeps everything; a Postgres restart pauses runs for a few seconds and they resume when it is back.

**Upgrades.** The image is pinned. To upgrade, change the `Activepieces` service's image tag to a newer release in the service settings and redeploy; Activepieces applies its migrations on start. Read the upstream release notes first - major versions occasionally change piece versions in existing flows.

**Variables you may want to change.** `AP_WORKER_CONCURRENCY` (5) and `AP_FLOW_TIMEOUT_SECONDS` (600) trade throughput for memory. `AP_TRIGGER_DEFAULT_POLL_INTERVAL` (5 minutes) controls how often polling triggers run. `AP_TELEMETRY_ENABLED` is off. Add SMTP variables (`AP_SMTP_*`) to enable email invitations and password reset.

**Risks.** `UNSANDBOXED` code steps run with the app's permissions - only invite people you trust to build flows. Pinned images mean security fixes arrive when you upgrade, not automatically. Railway's fair-use policy applies to what you automate.

### Why Deploy Activepieces on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Activepieces on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


## Similar templates

- [N8N Main + Worker](https://railway.com/deploy/n8n-main-worker) — Deploy and Host N8N with Inactive worker.
- [Evolution API with n8n](https://railway.com/deploy/evolution-api-with-n8n) — Automate WhatsApp workflows with Evolution API, n8n, and Postgres.
- [Postgres Backup](https://railway.com/deploy/postgres-s3-backups) — Cron-based PostgreSQL backup to bucket storage

Open this page in a browser: https://railway.com/deploy/kit-activepieces-build-0919
