Railway

Deploy OpenWA (w/ Postgres, Redis and MinIO)

Deploy OpenWA on Railway. WhatsApp REST API. One click.

Deploy OpenWA (w/ Postgres, Redis and MinIO)

Just deployed

/data

Just deployed

/data

/var/lib/postgresql/data

Just deployed

/app/data

Deploy and Host OpenWA on Railway

Deploy 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, and MinIO object storage.

This template uses the prebuilt Docker image:

ghcr.io/rmyndharis/openwa: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

Deployment Dependencies

Implementation Details

Docker image:

ghcr.io/rmyndharis/openwa:latest

Environment variables (use Railway reference syntax when deploying):

VariableValue
NODE_ENVproduction
API_PORT2785
LOG_LEVELinfo
DATABASE_TYPEpostgres
DATABASE_HOST${{Postgres.PGHOST}}
DATABASE_PORT${{Postgres.PGPORT}}
DATABASE_USERNAME${{Postgres.PGUSER}}
DATABASE_PASSWORD${{Postgres.PGPASSWORD}}
DATABASE_NAME${{Postgres.PGDATABASE}}
DATABASE_SYNCHRONIZEfalse
ENGINE_TYPEwhatsapp-web.js
SESSION_DATA_PATH/app/data/sessions
STORAGE_TYPEs3
STORAGE_LOCAL_PATH/app/data/media
S3_ENDPOINThttp://${{MinIO.RAILWAY_PRIVATE_DOMAIN}}:9000
S3_ACCESS_KEY${{MinIO.MINIO_ROOT_USER}}
S3_SECRET_KEY${{MinIO.MINIO_ROOT_PASSWORD}}
S3_BUCKETopenwa
REDIS_ENABLEDtrue
REDIS_HOST${{Redis.RAILWAY_PRIVATE_DOMAIN}}
REDIS_PORT6379
PLUGINS_ENABLEDtrue
PLUGINS_DIR/app/data/plugins
PUPPETEER_HEADLESStrue
PUPPETEER_ARGS--no-sandbox,--disable-setuid-sandbox,--disable-dev-shm-usage,--disable-gpu

Initial API Key:

OpenWA automatically generates an API key during the first startup and prints it in the OpenWA API deployment logs.

After deployment:

  1. Open the OpenWA API service in Railway.
  2. Go to Deploy Logs.
  3. Copy the generated API key.

API keys can later be managed through the API or the Dashboard.

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

Public port: 2785

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, or object storage manually.

By deploying OpenWA on Railway, you can run a complete WhatsApp automation infrastructure with PostgreSQL, Redis, MinIO, persistent storage, public networking, and automated deployments in minutes while focusing on your integrations and workflows instead of infrastructure management.


Template Content

More templates in this category

View Template
Telegram JavaScript Bot
A template for Telegram bot in JavaScript using grammY

Agampreet Singh
View Template
Cobalt Tools [Updated May ’26]
Cobalt Tools [May ’26] (Media Downloader, Converter & Automation) Self Host

shinyduo
View Template
Whatsmiau
Deploy Whatsmiau on Railway. WhatsApp REST API. One click.

Douglas Rubim