
Deploy OpenWA (w/ Dashboard, Postgres, Redis and MinIO)
Deploy OpenWA on Railway. WhatsApp REST API. One click.
MinIO
Just deployed
/data
Just deployed
/var/lib/postgresql/data
OpenWA Dashboard
Just deployed
Redis
Just deployed
/data
OpenWA API
Just deployed
/app/data
Deploy and Host OpenWA on Railway
OpenWA is an open-source WhatsApp automation platform built on top of WhatsApp Web. Connect personal or business WhatsApp accounts through a REST API to send messages, manage chats, receive webhooks, and automate workflows without requiring Meta Business API approval.
About Hosting OpenWA
Hosting OpenWA on Railway requires persistent storage for WhatsApp authentication sessions, media files, plugins, and database data. This template provisions a complete OpenWA stack including PostgreSQL, Redis, MinIO object storage, and the OpenWA Dashboard.
This template uses the prebuilt Docker images:
ghcr.io/rmyndharis/openwa:latest
ghcr.io/douglasrubims/openwa-dashboard:latest
Railway provisions networking, SSL, deployments, private networking, and persistent storage automatically.
Common Use Cases
- WhatsApp chatbots and automation
- Customer support integrations
- Workflow automation with webhooks
- Notifications and alerts
- Multi-session WhatsApp management
- Media storage and automation pipelines
Dependencies for OpenWA Hosting
- Persistent volume (mount path:
/app/data) - PostgreSQL database
- Redis cache
- MinIO S3-compatible object storage
- OpenWA Dashboard
Deployment Dependencies
Implementation Details
OpenWA Docker image:
ghcr.io/rmyndharis/openwa:latest
Dashboard Docker image:
ghcr.io/douglasrubims/openwa-dashboard:latest
Environment variables (use Railway reference syntax when deploying):
| Variable | Value |
|---|---|
NODE_ENV | production |
API_PORT | 2785 |
LOG_LEVEL | info |
DATABASE_TYPE | postgres |
DATABASE_HOST | ${{Postgres.PGHOST}} |
DATABASE_PORT | ${{Postgres.PGPORT}} |
DATABASE_USERNAME | ${{Postgres.PGUSER}} |
DATABASE_PASSWORD | ${{Postgres.PGPASSWORD}} |
DATABASE_NAME | ${{Postgres.PGDATABASE}} |
DATABASE_SYNCHRONIZE | false |
ENGINE_TYPE | whatsapp-web.js |
SESSION_DATA_PATH | /app/data/sessions |
STORAGE_TYPE | s3 |
STORAGE_LOCAL_PATH | /app/data/media |
S3_ENDPOINT | http://${{MinIO.RAILWAY_PRIVATE_DOMAIN}}:9000 |
S3_ACCESS_KEY | ${{MinIO.MINIO_ROOT_USER}} |
S3_SECRET_KEY | ${{MinIO.MINIO_ROOT_PASSWORD}} |
S3_BUCKET | openwa |
REDIS_ENABLED | true |
REDIS_HOST | ${{Redis.RAILWAY_PRIVATE_DOMAIN}} |
REDIS_PORT | 6379 |
PLUGINS_ENABLED | true |
PLUGINS_DIR | /app/data/plugins |
PUPPETEER_HEADLESS | true |
PUPPETEER_ARGS | --no-sandbox,--disable-setuid-sandbox,--disable-dev-shm-usage,--disable-gpu |
Dashboard Environment Variables:
| Variable | Value |
|---|---|
OPENWA_HOST | ${{OpenWA.RAILWAY_PRIVATE_DOMAIN}} |
Initial API Key:
OpenWA automatically generates an API key during the first startup and prints it in the OpenWA API deployment logs.
After deployment:
- Open the
OpenWA APIservice in Railway. - Go to
Deploy Logs. - Copy the generated API key.
- Open the Dashboard URL.
- Paste the API key when prompted.
API keys can later be managed from inside the Dashboard or through the API.
OpenWA Volume: Mount /app/data for persistent WhatsApp sessions, plugins, SQLite fallback database, and media files.
MinIO Volume: Mount /data for persistent object storage.
MinIO Start Command:
minio server /data --console-address ":9001"
Redis Start Command:
redis-server --appendonly yes
OpenWA Public Port: 2785
Dashboard Public Port: 80
Quick start (local):
docker run -p 2785:2785 \
-v openwa-data:/app/data \
ghcr.io/rmyndharis/openwa:latest
API available at:
http://localhost:2785
Why Deploy OpenWA on Railway?
Railway provides a simple way to deploy and scale OpenWA without managing servers, reverse proxies, SSL certificates, databases, cache infrastructure, object storage, or frontend hosting manually.
By deploying OpenWA on Railway, you can run a complete WhatsApp automation infrastructure with PostgreSQL, Redis, MinIO, Dashboard, persistent storage, public networking, and automated deployments in minutes while focusing on your integrations and workflows instead of infrastructure management.
Template Content
MinIO
minio/minioOpenWA Dashboard
ghcr.io/douglasrubims/openwa-dashboard:latestRedis
redis:8.2.1OpenWA API
ghcr.io/rmyndharis/openwa:latest
