Deploy GOWA (WhatsApp REST API)

GOWA 9.4: WhatsApp REST API and MCP server in Go, with webhooks.

Deploy GOWA (WhatsApp REST API)

Deploy and Host GOWA (WhatsApp REST API) on Railway

GOWA (go-whatsapp-web-multidevice) is a WhatsApp REST API and MCP server written in Go. It links WhatsApp accounts as companion devices and lets you send and receive messages, media, locations, polls and group actions over HTTP, with webhooks for incoming events. It supports several accounts in one instance.

About Hosting GOWA (WhatsApp REST API)

This template runs the official aldinokemal2104/go-whatsapp-web-multidevice:v9.4.0 image as one service. The dashboard and the whole API are behind basic auth (user admin and a generated password); only /health is public. Linked-device sessions and chat storage live in SQLite on a Railway volume at /app/storages, so paired accounts survive redeploys. Set WHATSAPP_WEBHOOK to receive incoming messages, signed with a generated secret. It is a single small Go binary and fits the Hobby plan. WhatsApp can ban numbers used for spam, so use a number you can afford to lose and respect their terms.

Common Use Cases

  • Sending WhatsApp notifications from apps and n8n workflows
  • Receiving WhatsApp messages in a chatbot through webhooks
  • Giving AI agents WhatsApp tools over MCP

Dependencies for GOWA (WhatsApp REST API) Hosting

  • aldinokemal2104/go-whatsapp-web-multidevice:v9.4.0 (official image)
  • A Railway volume at /app/storages

Deployment Dependencies

Implementation Details

ServiceSourceNetworkingStorage
gowaaldinokemal2104/go-whatsapp-web-multidevice:v9.4.0public domain on 3000volume at /app/storages

Pair a phone: open the dashboard, add a device and scan the QR code in WhatsApp → Linked devices. Or use the API:

curl -u admin:$GOWA_PASSWORD -X POST https:///devices -H 'content-type: application/json' -d '{"device_id":"main"}'
curl -u admin:$GOWA_PASSWORD -H 'X-Device-Id: main' https:///app/login
VariableDefaultPurpose
GOWA_PASSWORDgeneratedBasic-auth password for user admin
APP_BASIC_AUTHadmin:${{GOWA_PASSWORD}}Accounts accepted by the API
WHATSAPP_WEBHOOKemptyURL(s) for incoming events
WHATSAPP_WEBHOOK_SECRETgeneratedHMAC secret for webhook signatures

Notes:

  • QR code images and received media are served from /statics under random names without auth, and are not on the volume.
  • This template was tested up to QR generation; pairing a real phone was not tested.

This is a community-maintained deployment package and does not imply affiliation with or endorsement by the GOWA project or WhatsApp.

Why Deploy GOWA (WhatsApp REST API) 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.

By deploying GOWA (WhatsApp REST API) on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


Template Content

More templates in this category

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

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

shinyduo
297
View Template
Telegram Gateway
Multi-bot Telegram webhook gateway with WebSocket event streaming

INAPP
6