---
title: "Deploy Activepieces"
description: "Activepieces automation with Postgres and Redis, owner set at deploy"
category: "Automation"
url: https://railway.com/deploy/activepieces-4
---

# Deploy Activepieces

Activepieces automation with Postgres and Redis, owner set at deploy

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

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

- **Creator:** Dektion Studio
- **Category:** Automation
- **Total deploys:** 1

## Template content

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

- **Image:** redis:7.4
- **Start command:** `/bin/sh -c 'exec redis-server --requirepass "$REDIS_PASSWORD" --appendonly yes --dir /data'`

### Activepieces https://raw.githubusercontent.com/activepieces/activepieces/ac16617326f0d25e0eb6a9bc50eb20271b9b1dcc/docs/favicon.png

- **Source:** dektionstudio/railway-template-images
- **Health check:** /api/v1/health
- **Public domain:** Yes

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

- **Image:** pgvector/pgvector:pg16

## Documentation

# Deploy and Host Activepieces on Railway

[Activepieces](https://github.com/activepieces/activepieces) (MIT community edition) is an open-source alternative to Zapier: flows with hundreds of app integrations, webhooks, schedules, AI agents and MCP servers.

This template runs the official image (0.92.0) with the app and a worker in one container, which is the image's default, plus Postgres with pgvector and Redis for the job queue.

## About Hosting Activepieces

The first account that signs up to an Activepieces instance owns the platform, and after that new accounts need an invitation. On a public URL that first sign-up is a race, so this template does it for you: the deploy form asks for your email, a password is generated into `ADMIN_PASSWORD`, and a start step signs the owner up as soon as the API answers. Open `ACTIVEPIECES_URL` and sign in with that email and password; invite everyone else from the platform settings.

Before publishing I tested it end to end. The owner signed in with the admin role, and a sign-up from another address was refused with `INVITATION_ONLY_SIGN_UP`. I created a flow with a webhook trigger through the API, published it and called the webhook, and the worker ran it to `SUCCEEDED`. After a restart the owner signed in again and the flow was still there.

The first version ran the flow and then the whole container restarted before the run finished. Upstream's default is five flow runs at a time, each in its own process, and on a 1 GB service that was too much; with `AP_WORKER_CONCURRENCY=1` the same run succeeded. The template starts at 1. On a plan with more memory, raise it.

## Common Use Cases

- Connect the apps you use (email, CRM, spreadsheets, chat) with flows that run on webhooks or schedules
- Run AI agents and MCP servers that act on those apps

## Dependencies for Activepieces Hosting

Nothing beyond the template: Postgres and Redis are included. Some integrations need their own API keys or OAuth apps, added in Activepieces.

### Deployment Dependencies

- Activepieces: https://github.com/activepieces/activepieces
- Docs: https://www.activepieces.com/docs
- Image: `ghcr.io/activepieces/activepieces:0.92.0`
- The wrapper this template builds: https://github.com/dektionstudio/railway-template-images/tree/main/activepieces

### Implementation Details

```
ADMIN_EMAIL / ADMIN_PASSWORD      # owner account, signed up on first start
AP_FRONTEND_URL                   # public URL for webhooks; change it when you add a custom domain
AP_ENCRYPTION_KEY / AP_JWT_SECRET # generated; keep AP_ENCRYPTION_KEY, it encrypts your connections
AP_WORKER_CONCURRENCY=1           # flow runs at the same time
AP_REDIS_URL                      # Redis with a password, private network
AP_POSTGRES_*                     # Postgres (pgvector), private network
```

Piece installs are cached on a volume, so flows start faster after a restart. To upgrade, set `AP_VERSION` (an image tag) on the Activepieces service and read upstream's breaking-changes notes first.

Idle, Activepieces used 0.8 GB of RAM, Postgres 0.47 GB and Redis 0.01 GB.

## Why Deploy Activepieces on Railway?

Webhooks need a public HTTPS address that stays up, and here the instance has one from the first minute, owned by you and not open to sign-ups. The three services come to about $13 a month in RAM at idle.


## 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/activepieces-4
