
Deploy Evolution API
Open-source WhatsApp API with manager UI, webhooks, Postgres and Redis
Redis
Just deployed
/data
Evolution API
Just deployed
/evolution/instances
Just deployed
/var/lib/postgresql/data
Deploy and Host Evolution API on Railway
Evolution API is an open-source REST API for WhatsApp. It connects a WhatsApp number by QR code (through the Baileys WhatsApp Web library) or through Meta's official Cloud API. You can then send and receive messages, media and group events over HTTP, webhooks or WebSocket. It ships with a web manager and integrations for Chatwoot, Typebot, n8n, Dify and OpenAI.
About Hosting Evolution API
This template runs Evolution API v2.3.7 from the official image evoapicloud/evolution-api, pinned by digest. It uses Railway Postgres for instances, sessions, contacts and messages, and Railway Redis as the cache. Instance files go on a volume mounted at /evolution/instances. A global API key is generated at deploy, and every API call and the manager login require it. SERVER_URL points at your Railway domain, so the QR codes, webhooks and media links it generates use it. Database migrations run automatically on every start. After deploying, open /manager, sign in with the API key, create an instance and scan the QR code with WhatsApp.
Common Use Cases
- Send WhatsApp notifications, reminders and one-time codes from your own app over a REST call
- Connect WhatsApp to Chatwoot, Typebot, n8n, Dify or an OpenAI bot for support and automation
- Run several WhatsApp numbers from one server, each with its own webhook
Dependencies for Evolution API Hosting
- PostgreSQL (Railway Postgres, included)
- Redis (Railway Redis, included)
Deployment Dependencies
- Evolution API on GitHub: https://github.com/evolution-foundation/evolution-api
- Release 2.3.7: https://github.com/evolution-foundation/evolution-api/releases/tag/2.3.7
- Documentation: https://docs.evolutionfoundation.com.br/en/evolution-api/installation
- Docker image: https://hub.docker.com/r/evoapicloud/evolution-api
Implementation Details
Sign in. Open https://YOUR-DOMAIN/manager. Use your Railway domain as the server URL and the AUTHENTICATION_API_KEY variable of the Evolution API service as the key. API clients send that key in an apikey header:
curl -H "apikey: $AUTHENTICATION_API_KEY" https://YOUR-DOMAIN/instance/fetchInstances
curl -H "apikey: $AUTHENTICATION_API_KEY" -H "Content-Type: application/json" \
-d '{"instanceName":"main","integration":"WHATSAPP-BAILEYS","qrcode":true}' \
https://YOUR-DOMAIN/instance/create
The second call returns a QR code (qrcode.base64) to scan in WhatsApp under Linked devices. Without the key, every call except / returns 401.
Defaults set in the start command. These apply unless you add the variable yourself: DATABASE_PROVIDER=postgresql, CACHE_REDIS_ENABLED=true, CACHE_LOCAL_ENABLED=false, DATABASE_SAVE_DATA_*=true (instances, messages, contacts, chats, labels, history), DEL_INSTANCE=false, TELEMETRY_ENABLED=false, LANGUAGE=en, LOG_LEVEL=ERROR,WARN,INFO,LOG, QRCODE_LIMIT=30, CONFIG_SESSION_PHONE_CLIENT="Evolution API". To use webhooks, RabbitMQ, S3, Chatwoot, Typebot or any other option from the environment reference, add it as a variable on the Evolution API service and redeploy.
Version. This template stays on 2.3.7, the latest stable release. The 2.4.0 release candidates require activating each server against Evolution Foundation's licensing service before the API answers. Instance tokens (the per-instance hash) in 2.3.7 can act on other instances on the same server (fixed on the 2.3.8 branch). If you hand instance tokens to other people, run one deployment per person until 2.3.8 is released. The global key isn't affected.
Custom domain. After adding your own domain, set SERVER_URL to https://YOUR-DOMAIN and redeploy.
WhatsApp terms. The QR-code (Baileys) connection uses the unofficial WhatsApp Web protocol. Bulk or unsolicited messages can get a number banned. Use the WhatsApp Cloud API integration for business-critical traffic.
Why Deploy Evolution 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 Evolution 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
Redis
redis:8.2Evolution API
evoapicloud/evolution-api:v2.3.7
