---
title: "Deploy Pneumatic"
description: "Open-source workflow management platform by Pneumatic"
category: "Automation"
url: https://railway.com/deploy/pneumatic-1
---

# Deploy Pneumatic

Open-source workflow management platform by Pneumatic

**[Deploy Pneumatic on Railway](https://railway.com/template/pneumatic-1)**

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

- **Creator:** Pneumatic
- **Category:** Automation
- **Total deploys:** 2

## Template content

### SeaweedFS Volume https://devicons.railway.app/i/minio.svg

- **Image:** chrislusf/seaweedfs:3.95
- **Start command:** `sh -c "weed volume -mserver=$SEAWEED_MASTER -ip=$RAILWAY_PRIVATE_DOMAIN -port=8080 -dir=/data"`

### Backend https://www.pneumatic.app/images/favicon.png

- **Source:** https://github.com/pneumaticapp/pneumaticworkflow
- **Start command:** `sh -c "rm -f /usr/local/lib/python3.9/site-packages/charset_normalizer/cd.cpython*.so && python manage.py migrate && python manage.py collectstatic --no-input && python manage.py init_periodic_tasks && python manage.py compilemessages && gunicorn src.asgi:application --workers ${WORKERS_COUNT:-2} -k uvicorn.workers.UvicornWorker --worker-tmp-dir /dev/shm --bind [::]:8000 --timeout 200"`

### file-postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** postgres:15-bookworm

### Frontend https://www.pneumatic.app/images/favicon.png

- **Source:** https://github.com/pneumaticapp/pneumaticworkflow

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

- **Image:** postgres:15-bookworm

### SeaweedFS Filer https://devicons.railway.app/i/minio.svg

- **Image:** chrislusf/seaweedfs:3.95
- **Start command:** `sh -c "weed filer -master=$SEAWEED_MASTER -ip=$RAILWAY_PRIVATE_DOMAIN -port=8888 -s3 -s3.port=8333"`

### nginx https://devicons.railway.app/i/nginx.svg

- **Source:** pneumaticapp/pneumaticworkflow
- **Public domain:** Yes

### Redis https://cdn.sanity.io/images/sy1jschh/production/0ce0bfdcfbdbf69662b1116671f97c2dd788b655-157x157.svg

- **Image:** redis:6.2.6
- **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"`

### celery-worker https://docs.celeryq.dev/en/latest/_static/favicon.ico

- **Source:** https://github.com/pneumaticapp/pneumaticworkflow
- **Start command:** `sh -c "rm -f /usr/local/lib/python3.9/site-packages/charset_normalizer/cd.cpython*.so && celery --app src.celery_app:app worker -l warning"`

### file-service https://devicons.railway.app/i/fastapi.svg

- **Source:** pneumaticapp/pneumaticworkflow
- **Start command:** `sh -c "poetry run alembic -c src/shared_kernel/database/alembic.ini upgrade head && poetry run uvicorn src.main:app --host :: --port ${PORT:-8000} --workers ${WORKERS:-1}"`

### celery-beat https://docs.celeryq.dev/en/latest/_static/favicon.ico

- **Source:** https://github.com/pneumaticapp/pneumaticworkflow
- **Start command:** `sh -c "rm -f /usr/local/lib/python3.9/site-packages/charset_normalizer/cd.cpython*.so && celery --pidfile= --app src.celery_app:app beat -l warning -S django"`

### SeaweedFS Master https://devicons.railway.app/i/minio.svg

- **Image:** chrislusf/seaweedfs:3.95
- **Start command:** `sh -c "weed master -ip=$RAILWAY_PRIVATE_DOMAIN -port=9333 -mdir=/data"`

### rabbitmq https://www.rabbitmq.com/img/rabbitmq-logo.svg

- **Image:** rabbitmq:3.13-management

## Documentation

# Deploy and Host Pneumatic on Railway

Pneumatic is an open-source workflow management system that empowers teams to create, run, and optimize business processes collaboratively. It features reusable workflow templates, parallel multi-workflow execution, individual task buckets for staff, and automated stage tracking with real-time handoffs between teams.

## About Hosting Pneumatic

Deploying Pneumatic involves running a multi-service architecture composed of a Django/Gunicorn backend (with ASGI via Uvicorn), a Next.js frontend served through PM2, Celery workers and Celery Beat for async task processing and scheduled jobs. The stack requires PostgreSQL for data persistence, Redis for caching, sessions, and WebSocket channels, and RabbitMQ as the Celery message broker. Railway simplifies this by managing each service as a separate component with shared networking and environment variables, eliminating the need to manually configure Docker Compose, SSL, and inter-service communication.

## Common Use Cases

- **Business Process Automation:** Design reusable workflow templates for recurring processes like employee onboarding, customer support escalation, or content approval pipelines.
- **Cross-Team Task Coordination:** Assign multi-step workflows that automatically hand off tasks between departments, with real-time tracking of each stage's progress.
- **SaaS Integration Hub:** Connect Pneumatic to external tools via its public REST API or Zapier integration, automating data flow between CRM, HR, and project management systems.

## Dependencies for Pneumatic Hosting

- **PostgreSQL 15** — primary relational database for all application data
- **Redis 6.2** — used for auth tokens, caching, Django Channels (WebSockets), and session storage
- **RabbitMQ 3.13** — message broker for Celery async task queue

### Deployment Dependencies

- [Pneumatic GitHub Repository](https://github.com/pneumaticapp/pneumaticworkflow)
- [Pneumatic Configuration Wiki](https://github.com/pneumaticapp/pneumaticworkflow/wiki/Configuration)
- [Pneumatic Support Center](https://support.pneumatic.app/)

### Optional integrations
All integrations are disabled by default. Flipping a flag to yes is not enough on its own — each integration needs its provider credentials, and those variables are not part of this template. Add them to the Backend, celery-worker and celery-beat services (all three read the same settings), and to Frontend where noted.

```bash
# --- Access ---
SIGNUP=yes            # Public self-registration. Set to "no" for an invite-only instance
VERIFICATION_CHECK=no # Require email confirmation. Needs EMAIL=yes, otherwise nobody can finish signup

# --- Email (invitations, password reset, notifications, digests) ---
EMAIL=no              # With "no" the app sends no mail at all
EMAIL_PROVIDER=smtp   # smtp | customerio

# --- Authentication ---
GOOGLE_AUTH=no        # Google OAuth
MS_AUTH=no            # Microsoft Entra ID (Azure AD)
SSO_AUTH=no           # SSO
SSO_PROVIDER=okta     # okta | auth0

# --- Features ---
AI=no                 # AI-assisted template generation
AI_PROVIDER=openai
PUSH=no               # Web push notifications
PUSH_PROVIDER=firebase
CAPTCHA=no            # reCAPTCHA on public forms
ANALYTICS=no          # Segment analytics
BILLING=no            # Stripe subscriptions

# --- Error tracking ---
SENTRY_DSN=           # Backend
SENTRY_FRONTEND_DSN=  # Frontend
```

## Why Deploy Pneumatic 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.

## 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/pneumatic-1
