Railway

Deploy Evolution API - Open-Source WhatsApp Business Automation

Self-host Evolution: open-source WhatsApp Business API with full control

Deploy Evolution API - Open-Source WhatsApp Business Automation

Just deployed

/data

/var/lib/postgresql/data

Just deployed

Deploy and Host Evolution API

Deploy Evolution API on Railway in under 60 seconds with this one-click template. Get a production-ready WhatsApp Business API with PostgreSQL persistence, Redis caching, and automatic SSL certificates—no Docker knowledge required.

About Hosting Evolution API

Evolution API is an open-source WhatsApp Business API that enables programmatic control of WhatsApp accounts through a RESTful interface. Built on the Baileys and Whatsmeow libraries, it provides enterprise-grade messaging automation without the complexity of Meta's official Cloud API.

Key features:

  • Multi-instance management: Run multiple WhatsApp accounts from a single deployment
  • QR code authentication: Connect accounts via web-based QR scanning
  • Webhook support: Real-time message events for chatbot integration
  • Media handling: Send/receive images, videos, documents, and audio
  • Group management: Create groups, add/remove participants programmatically
  • Message scheduling: Queue messages for delayed delivery
  • PostgreSQL persistence: Store messages, contacts, and instance data
  • Redis caching: Improve performance for high-volume messaging

This template deploys Evolution API (evoapicloud/evolution-api) with PostgreSQL 17 and Redis 8.2.1, fully configured with private networking between services.

Common Use Cases

  • Customer support automation: Integrate Evolution API with Chatwoot or Typebot for AI-powered helpdesk workflows
  • E-commerce notifications: Send order confirmations, shipping updates, and abandoned cart reminders via WhatsApp
  • Marketing campaigns: Broadcast promotional messages to segmented contact lists with delivery tracking
  • Multi-tenant SaaS: Provide WhatsApp messaging as a feature in your application (each customer gets their own instance)

Evolution API vs Twilio WhatsApp API

FeatureEvolution API (Self-Hosted)Twilio WhatsApp API
PricingFree (infrastructure only)$0.005-0.04 per message
SetupOne-click Railway deployAccount approval + integration
Message limitsWhatsApp's native limitsTwilio rate limits apply
Data ownershipFull control (your database)Stored on Twilio servers
CustomizationOpen-source, fully hackableClosed API with fixed features
Business verificationOptional (use personal numbers)Required for production use

Evolution API wins for cost-sensitive projects, rapid prototyping, or scenarios requiring full data control. Twilio is better for compliance-heavy industries needing official Meta partnership.

Dependencies for Evolution API

Evolution API requires PostgreSQL for persistent storage and Redis for session caching. This template provisions both automatically.

Environment Variables Reference

VariableDescriptionRequiredDefault
PORTHTTP server portYes8080
SERVER_URLPublic URL for webhooks/QR codesYeshttps://${{RAILWAY_PUBLIC_DOMAIN}}
AUTHENTICATION_API_KEYAPI key for securing endpointsYesAuto-generated 64-char hex
DATABASE_PROVIDERDatabase typeYespostgresql
DATABASE_CONNECTION_URIPostgreSQL connection stringYes${{Postgres.DATABASE_URL}}
CACHE_REDIS_ENABLEDEnable Redis cachingYestrue
CACHE_REDIS_URIRedis connection stringYes${{Redis.REDIS_URL}}

Deployment Dependencies

Minimum requirements:

  • PostgreSQL 15+ (template uses 17)
  • Redis 6+ (template uses 8.2.1)
  • 512MB RAM per Evolution API instance

FAQ

How do I access the Evolution Manager UI?
Navigate to your Railway public domain (e.g., https://your-app.up.railway.app). The UI provides instance management, QR code generation, and webhook configuration. No additional setup required.

Can Evolution API handle multiple WhatsApp accounts?
Yes. Each "instance" in Evolution API represents a separate WhatsApp connection. Create multiple instances via the /instance/create endpoint—all share the same PostgreSQL database but maintain isolated sessions.

Does Evolution API support Instagram and Facebook Messenger?
Yes, Evolution API v2+ supports WhatsApp, Instagram Direct, and Facebook Messenger through unified endpoints. Configure channel type when creating an instance.

What happens if my Railway deployment restarts?
WhatsApp sessions persist in PostgreSQL. Instances reconnect automatically on restart without requiring QR code re-scanning (unless the session expires due to prolonged downtime).

How do I update my Evolution API version?
Change the Docker image tag in Railway's service settings (e.g., evoapicloud/evolution-api:v2.3.7). Railway redeploys automatically. Check the Evolution API changelog for breaking changes.

Is this template production-ready?
Yes, with caveats. Add monitoring (Railway's built-in metrics), configure database backups (Railway Pro), and review WhatsApp's Business Policy to avoid account bans. For high-volume use (>10k messages/day), consider dedicated PostgreSQL hosting.

Integrations

Evolution API integrates with popular automation tools via webhooks:

  • n8n: Use the community node n8n-nodes-evolution-api for visual workflow automation
  • Typebot: Connect chatbot flows directly to WhatsApp conversations
  • Chatwoot: Route WhatsApp messages to your helpdesk inbox
  • Make.com/Zapier: Trigger workflows from incoming WhatsApp messages

Troubleshooting

QR code not loading: Ensure SERVER_URL matches your Railway public domain exactly (check for trailing slashes).

Database connection errors: Verify DATABASE_CONNECTION_URI uses Railway's private domain (${{RAILWAY_PRIVATE_DOMAIN}}), not the public TCP proxy.

Instance disconnects frequently: WhatsApp may flag unusual activity. Use a phone number with established messaging history, or enable two-factor authentication.

Redis cache misses: Check CACHE_REDIS_URI points to ${{Redis.REDIS_URL}} (Railway's internal Redis URL).

Why Deploy Evolution API on Railway

Railway eliminates the operational overhead of self-hosting Evolution API:

  • Private networking: Services communicate over Railway's internal network—no exposed database ports
  • Automatic SSL: Your Evolution API gets HTTPS via ${{RAILWAY_PUBLIC_DOMAIN}} immediately
  • Managed databases: PostgreSQL and Redis run on Railway's infrastructure with automated backups
  • Environment variables UI: Update API keys and configuration without touching code
  • One-click deploys: Template handles Docker orchestration, networking, and service dependencies
  • Free tier: $5/month credit covers small-scale deployments (vs. $50+/month for managed VPS)

Compared to manually configuring Docker Compose on a VPS, Railway removes SSH access, firewall rules, SSL certificate renewal, and database administration from your workflow.


Template Content

More templates in this category

View Template
N8N Main + Worker
Deploy and Host N8N with Inactive worker.

jakemerson
View Template
Postgres Backup
Cron-based PostgreSQL backup to bucket storage

Railway Templates
View Template
Prefect [Updated Mar ’26]
Prefect [Mar ’26] (ETL & Automation alternative to Airflow) Self Host

shinyduo