---
title: "Deploy OpenWA (only API)"
description: "Deploy OpenWA on Railway. WhatsApp REST API. One click."
category: "Bots"
url: https://railway.com/deploy/openwa-lite-without-postgres-redis-and-m
---

# Deploy OpenWA (only API)

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

**[Deploy OpenWA (only API) on Railway](https://railway.com/template/openwa-lite-without-postgres-redis-and-m)**

- **Creator:** RBR Digital
- **Category:** Bots
- **Total deploys:** 92

## Template content

### OpenWA API https://www.open-wa.org/assets/openwa_logo.webp

- **Image:** ghcr.io/rmyndharis/openwa:latest
- **Public domain:** Yes

## Documentation

# Deploy and Host OpenWA on Railway

[![Deploy on Railway](https://railway.com/button.svg)](https://railway.com/deploy/YZhYHa?referralCode=9uHSFr&utm_medium=integration&utm_source=template&utm_campaign=generic)

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 a persistent volume to store WhatsApp authentication sessions, media, plugins, and SQLite database files. The API runs on port `2785` and exposes REST endpoints for session management, messaging, automation, and webhook integrations.

This template uses the prebuilt Docker image:
```txt
ghcr.io/rmyndharis/openwa:latest
```

Railway provisions networking, SSL, deployments, 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

## Dependencies for OpenWA Hosting
- Persistent volume (mount path: `/app/data`)
- Optional Redis (cache/session acceleration)
- Optional PostgreSQL (instead of SQLite)

### Deployment Dependencies
- [OpenWA GitHub](https://github.com/rmyndharis/OpenWA)
- [Railway Documentation](https://docs.railway.com)

### Implementation Details

**Docker image:**
```txt
ghcr.io/rmyndharis/openwa:latest
```

**Environment variables** (use Railway reference syntax when deploying):

| Variable             | Value                                                                         |
| -------------------- | ----------------------------------------------------------------------------- |
| `NODE_ENV`           | `production`                                                                  |
| `API_PORT`           | `2785`                                                                        |
| `DATABASE_TYPE`      | `sqlite`                                                                      |
| `DATABASE_NAME`      | `/app/data/openwa.sqlite`                                                     |
| `SESSION_DATA_PATH`  | `/app/data/sessions`                                                          |
| `STORAGE_TYPE`       | `local`                                                                       |
| `STORAGE_LOCAL_PATH` | `/app/data/media`                                                             |
| `PLUGINS_ENABLED`    | `true`                                                                        |
| `PLUGINS_DIR`        | `/app/data/plugins`                                                           |
| `PUPPETEER_HEADLESS` | `true`                                                                        |
| `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.

**Volume:** Mount `/app/data` for persistent WhatsApp sessions, SQLite database, plugins, and media files.

**Public port:** `2785`

**Quick start (local):**
```bash
docker run -p 2785:2785 \
  -v openwa-data:/app/data \
  ghcr.io/rmyndharis/openwa:latest
```

API available at:
```txt
http://localhost:2785
```

## Why Deploy OpenWA on Railway?

Railway provides a simple way to deploy and scale OpenWA without managing servers, reverse proxies, or SSL certificates manually.

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

---

## Template Author

Created and maintained by **Douglas Rubim**.

GitHub: https://github.com/douglasrubims

## Similar templates

- [Telegram JavaScript Bot](https://railway.com/deploy/5lRkWa) — A template for Telegram bot in JavaScript using grammY
- [Cobalt Tools [Updated Aug ’26]](https://railway.com/deploy/cobalt) — Cobalt Tools [Aug ’26] (Media Downloader, Converter & Automation) Self Host
- [Telegram Gateway](https://railway.com/deploy/railway-telegram-gateway) — Multi-bot Telegram webhook gateway with real-time WebSocket event streaming

Open this page in a browser: https://railway.com/deploy/openwa-lite-without-postgres-redis-and-m
