---
title: "Deploy Chatwoot (w/ WhatsApp)"
description: "Chatwoot with WhatsApp set up on deploy: log in, scan a QR code, reply."
category: "Other"
url: https://railway.com/deploy/chatwoot-w-whatsapp
---

# Deploy Chatwoot (w/ WhatsApp)

Chatwoot with WhatsApp set up on deploy: log in, scan a QR code, reply.

**[Deploy Chatwoot (w/ WhatsApp) on Railway](https://railway.com/template/chatwoot-w-whatsapp)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/chatwoot-w-whatsapp/manifest.json

- **Creator:** AvgSoft
- **Category:** Other
- **Total deploys:** 3

## Template content

### Chatwoot https://cdn.jsdelivr.net/gh/mikedepo/railway-template-assets@6ab06146e7d9a658953ce107fdbb88d57799794d/service-icons/chatwoot.svg

- **Image:** chatwoot/chatwoot:v4.19.1-ce
- **Start command:** `/bin/sh -c "rm -f /app/tmp/pids/server.pid; until pg_isready -q -h $PGHOST -p $PGPORT; do sleep 2; done; bundle exec rails db:chatwoot_prepare || exit 1; bundle exec sidekiq -C config/sidekiq.yml & S=$!; bundle exec rails s -b 0.0.0.0 -p $PORT & R=$!; trap 'kill -TERM $S $R; wait; exit 0' TERM INT; while kill -0 $S && kill -0 $R; do sleep 5; done; kill -TERM $S $R; wait; exit 1"`
- **Health check:** /api
- **Public domain:** Yes

### Setup https://cdn.jsdelivr.net/gh/mikedepo/railway-template-assets@6ab06146e7d9a658953ce107fdbb88d57799794d/service-icons/setup.svg

- **Image:** ghcr.io/railwayapp/function-bun:1.3.0
- **Start command:** `./run.sh Ly8gT25lLXRpbWUgc2V0dXAgZm9yIHRoZSAiQ2hhdHdvb3QgKHcvIFdoYXRzQXBwKSIgdGVtcGxhdGUsIHJ1biBhcyBhIFJhaWx3YXkgRnVuY3Rpb24gKGdoY3IuaW8vcmFpbHdheWFwcC9mdW5jdGlvbi1idW4pLgovLyBDcmVhdGVzIHRoZSBDaGF0d29vdCBhZG1pbiwgYSAiV2hhdHNBcHAiIEFQSSBpbmJveCBwb2ludGluZyBhdCBXQUhBLCBhbmQgV0FIQSdzICJkZWZhdWx0IiBzZXNzaW9uIGFuZCBDaGF0d29vdCBhcHAuCi8vIFNhZmUgdG8gcnVuIGFnYWluOiBldmVyeSBzdGVwIGNoZWNrcyB3aGF0IGFscmVhZHkgZXhpc3RzLiBJdCBuZXZlciBzdGFydHMgdGhlIFdoYXRzQXBwIHNlc3Npb24gKFFSIGNvZGVzIGV4cGlyZSk7Ci8vIHRoZSB1c2VyIHR5cGVzICJzdGFydCIgaW4gQ2hhdHdvb3Qgd2hlbiB0aGVpciBwaG9uZSBpcyByZWFkeS4KLy8gQnVpbGQgdGhlIHRlbXBsYXRlJ3Mgc3RhcnQgY29tbWFuZCBmcm9tIHRoaXMgZmlsZTogIi4vcnVuLnNoICIgKyBiYXNlNjQoZmlsZSkuCi8vCi8vIFZhcmlhYmxlczogQ0hBVFdPT1RfVVJMLCBXQUhBX1VSTCwgV0FIQV9BUElfS0VZLCBBRE1JTl9FTUFJTCwgQURNSU5fUEFTU1dPUkQsIEFETUlOX05BTUUsIEFDQ09VTlRfTkFNRS4KCmNvbnN0IENXID0gKHByb2Nlc3MuZW52LkNIQVRXT09UX1VSTCA/PyAnJykucmVwbGFjZSgvXC8kLywgJycpOwpjb25zdCBXQSA9IChwcm9jZXNzLmVudi5XQUhBX1VSTCA/PyAnJykucmVwbGFjZSgvXC8kLywgJycpOwpjb25zdCBLRVkgPSBwcm9jZXNzLmVudi5XQUhBX0FQSV9LRVkgPz8gJyc7CmNvbnN0IEVNQUlMID0gKHByb2Nlc3MuZW52LkFETUlOX0VNQUlMID8/ICcnKS50cmltKCk7CmNvbnN0IFBBU1NXT1JEID0gcHJvY2Vzcy5lbnYuQURNSU5fUEFTU1dPUkQgPz8gJyc7CmNvbnN0IE5BTUUgPSBwcm9jZXNzLmVudi5BRE1JTl9OQU1FIHx8ICdBZG1pbic7CmNvbnN0IEFDQ09VTlQgPSBwcm9jZXNzLmVudi5BQ0NPVU5UX05BTUUgfHwgJ1N1cHBvcnQnOwpjb25zdCBTRVNTSU9OID0gJ2RlZmF1bHQnOwoKY29uc3QgbG9nID0gKG1zZzogc3RyaW5nKSA9PiBjb25zb2xlLmxvZyhgW3NldHVwXSAke21zZ31gKTsKY29uc3Qgc2xlZXAgPSAobXM6IG51bWJlcikgPT4gbmV3IFByb21pc2UoKHIpID0+IHNldFRpbWVvdXQociwgbXMpKTsKLy8gRXhpdCAwIG9uIGZhaWx1cmUgdG9vLCBzbyBhIHNldHVwIHByb2JsZW0gbmV2ZXIgbWFya3MgdGhlIGRlcGxveSBhcyBmYWlsZWQ7IHRoZSBsb2cgc2F5cyBob3cgdG8gZmluaXNoIGJ5IGhhbmQuCmNvbnN0IHN0b3AgPSAobXNnOiBzdHJpbmcpOiBuZXZlciA9PiB7IGxvZyhtc2cpOyBsb2coJ1lvdSBjYW4gZmluaXNoIGJ5IGhhbmQgd2l0aCBXQUhBXCdzIGd1aWRlOiBodHRwczovL3dhaGEuZGV2bGlrZS5wcm8vYmxvZy9hcHBzLWNoYXR3b290LWNvbmZpZy8gKFdBSEEgZGFzaGJvYXJkOiB5b3VyIFdBSEEgVVJMICsgL2Rhc2hib2FyZCkuJyk7IHByb2Nlc3MuZXhpdCgwKTsgfTsKY29uc3Qgd2EgPSAocGF0aDogc3RyaW5nLCBpbml0OiBSZXF1ZXN0SW5pdCA9IHt9KSA9PiBmZXRjaChgJHtXQX0ke3BhdGh9YCwgeyAuLi5pbml0LCBoZWFkZXJzOiB7ICdYLUFwaS1LZXknOiBLRVksICdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsIC4uLihpbml0LmhlYWRlcnMgPz8ge30pIH0gfSk7Cgphc3luYyBmdW5jdGlvbiB3YWl0Rm9yKHVybDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHsKICBmb3IgKGxldCBpID0gMDsgaSA8IDkwOyBpKyspIHsKICAgIHRyeSB7IGlmICgoYXdhaXQgZmV0Y2godXJsKSkub2spIHJldHVybiBsb2coYCR7bmFtZX0gaXMgdXBgKTsgfSBjYXRjaCB7fQogICAgYXdhaXQgc2xlZXAoMTBfMDAwKTsKICB9CiAgc3RvcChgJHtuYW1lfSBkaWQgbm90IGNvbWUgdXAgd2l0aGluIDE1IG1pbnV0ZXMgKCR7dXJsfSlgKTsKfQoKaWYgKCFDVyB8fCAhV0EgfHwgIUtFWSB8fCAhRU1BSUwgfHwgIVBBU1NXT1JEKSBzdG9wKCdtaXNzaW5nIENIQVRXT09UX1VSTCwgV0FIQV9VUkwsIFdBSEFfQVBJX0tFWSwgQURNSU5fRU1BSUwgb3IgQURNSU5fUEFTU1dPUkQnKTsKLy8gQ2hhdHdvb3QncyBwYXNzd29yZCBydWxlcyAoZGV2aXNlLXNlY3VyZV9wYXNzd29yZCk6IDYrIGNoYXJhY3RlcnMsIGFuIHVwcGVyY2FzZSBsZXR0ZXIsIGEgbG93ZXJjYXNlIGxldHRlciwgYSBudW1iZXIsIGEgc3ltYm9sLgpjb25zdCBSVUxFUyA9ICdhdCBsZWFzdCA2IGNoYXJhY3RlcnMsIHdpdGggYW4gdXBwZXJjYXNlIGxldHRlciwgYSBsb3dlcmNhc2UgbGV0dGVyLCBhIG51bWJlciBhbmQgYSBzeW1ib2wgc3VjaCBhcyAhIEAgIyAkICUnOwpjb25zdCBGSVggPSAnQ2hhbmdlIEFETUlOX1BBU1NXT1JEIGluIHRoZSBTZXR1cCBzZXJ2aWNlXCdzIFZhcmlhYmxlcyBhbmQgcmVkZXBsb3kgU2V0dXAuJzsKaWYgKFBBU1NXT1JELmxlbmd0aCA8IDYgfHwgIS9bQS1aXS8udGVzdChQQVNTV09SRCkgfHwgIS9bYS16XS8udGVzdChQQVNTV09SRCkgfHwgIS9cZC8udGVzdChQQVNTV09SRCkgfHwgIS9bXkEtWmEtejAtOV0vLnRlc3QoUEFTU1dPUkQpKSB7CiAgc3RvcChgQURNSU5fUEFTU1dPUkQgaXMgdG9vIHdlYWsgZm9yIENoYXR3b290OiBpdCBuZWVkcyAke1JVTEVTfS4gJHtGSVh9YCk7Cn0KbGV0IGNyZWF0ZWRBZG1pbiA9IGZhbHNlOwphd2FpdCB3YWl0Rm9yKGAke0NXfS9hcGlgLCAnQ2hhdHdvb3QnKTsKYXdhaXQgd2FpdEZvcihgJHtXQX0vcGluZ2AsICdXQUhBJyk7CgovLyAxLiBDaGF0d29vdCBhZG1pbjogQ2hhdHdvb3QncyBmaXJzdC1ydW4gcGFnZSBjcmVhdGVzIGl0LCBjb25maXJtZWQsIHdpdGggbm8gZW1haWwgbmVlZGVkLgpsZXQgcmVzID0gYXdhaXQgZmV0Y2goYCR7Q1d9L2luc3RhbGxhdGlvbi9vbmJvYXJkaW5nYCwgeyByZWRpcmVjdDogJ21hbnVhbCcgfSk7CmlmIChyZXMuc3RhdHVzID09PSAyMDApIHsKICBjb25zdCByYXc6IHN0cmluZ1tdID0gKHJlcy5oZWFkZXJzIGFzIGFueSkuZ2V0U2V0Q29va2llPy4oKSA/PyAocmVzLmhlYWRlcnMuZ2V0KCdzZXQtY29va2llJykgPz8gJycpLnNwbGl0KC8sKD89W147XSs9KS8pOwogIGNvbnN0IGNvb2tpZSA9IHJhdy5tYXAoKGMpID0+IGMuc3BsaXQoJzsnKVswXS50cmltKCkpLmZpbHRlcihCb29sZWFuKS5qb2luKCc7ICcpOwogIGNvbnN0IHRva2VuID0gKGF3YWl0IHJlcy50ZXh0KCkpLm1hdGNoKC9uYW1lPSJhdXRoZW50aWNpdHlfdG9rZW4iIHZhbHVlPSIoW14iXSspIi8pPy5bMV07CiAgaWYgKCF0b2tlbikgc3RvcCgnY291bGQgbm90IHJlYWQgdGhlIENoYXR3b290IHNldHVwIGZvcm0nKTsKICByZXMgPSBhd2FpdCBmZXRjaChgJHtDV30vaW5zdGFsbGF0aW9uL29uYm9hcmRpbmdgLCB7CiAgICBtZXRob2Q6ICdQT1NUJywgcmVkaXJlY3Q6ICdtYW51YWwnLAogICAgaGVhZGVyczogeyBjb29raWUsICdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyB9LAogICAgYm9keTogbmV3IFVSTFNlYXJjaFBhcmFtcyh7IGF1dGhlbnRpY2l0eV90b2tlbjogdG9rZW4hLCAndXNlcltuYW1lXSc6IE5BTUUsICd1c2VyW2NvbXBhbnldJzogQUNDT1VOVCwgJ3VzZXJbZW1haWxdJzogRU1BSUwsICd1c2VyW3Bhc3N3b3JkXSc6IFBBU1NXT1JEIH0pLAogIH0pOwogIGlmIChyZXMuc3RhdHVzICE9PSAzMDIgfHwgKHJlcy5oZWFkZXJzLmdldCgnbG9jYXRpb24nKSA/PyAnJykuaW5jbHVkZXMoJ29uYm9hcmRpbmcnKSkgc3RvcChgY3JlYXRpbmcgdGhlIENoYXR3b290IGFkbWluIGZhaWxlZCAoSFRUUCAke3Jlcy5zdGF0dXN9KWApOwogIGNyZWF0ZWRBZG1pbiA9IHRydWU7CiAgbG9nKGBjcmVhdGVkIHRoZSBDaGF0d29vdCBhZG1pbiAke0VNQUlMfWApOwp9IGVsc2UgewogIGxvZygnQ2hhdHdvb3QgYWxyZWFkeSBoYXMgYW4gYWRtaW4nKTsKfQoKLy8gMi4gU2lnbiBpbiBhbmQgcmVhZCB0aGUgYWRtaW4ncyBhY2Nlc3MgdG9rZW4uCnJlcyA9IGF3YWl0IGZldGNoKGAke0NXfS9hdXRoL3NpZ25faW5gLCB7IG1ldGhvZDogJ1BPU1QnLCBoZWFkZXJzOiB7ICdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSwgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBlbWFpbDogRU1BSUwsIHBhc3N3b3JkOiBQQVNTV09SRCB9KSB9KTsKLy8gQ2hhdHdvb3QncyBzZXR1cCBwYWdlIGFuc3dlcnMgYSByZWZ1c2VkIHBhc3N3b3JkIHdpdGggYSByZWRpcmVjdCB0b28sIHNvIGEgZmFpbGVkIHNpZ24taW4gcmlnaHQgYWZ0ZXIgaXQgbWVhbnMgQ2hhdHdvb3QgcmVmdXNlZCBpdC4KaWYgKCFyZXMub2sgJiYgY3JlYXRlZEFkbWluKSBzdG9wKGBDaGF0d29vdCBkaWQgbm90IGFjY2VwdCBBRE1JTl9QQVNTV09SRDsgaXQgbmVlZHMgJHtSVUxFU30uICR7RklYfWApOwppZiAoIXJlcy5vaykgc3RvcChgY2Fubm90IHNpZ24gaW4gdG8gQ2hhdHdvb3QgYXMgJHtFTUFJTH0gKHBhc3N3b3JkIGNoYW5nZWQsIG9yIGEgZGlmZmVyZW50IGFkbWluIGV4aXN0cyk7IG5vdGhpbmcgZWxzZSB0byBkb2ApOwpjb25zdCBhdXRoID0geyAnYWNjZXNzLXRva2VuJzogcmVzLmhlYWRlcnMuZ2V0KCdhY2Nlc3MtdG9rZW4nKSA/PyAnJywgY2xpZW50OiByZXMuaGVhZGVycy5nZXQoJ2NsaWVudCcpID8/ICcnLCB1aWQ6IHJlcy5oZWFkZXJzLmdldCgndWlkJykgPz8gJycgfTsKY29uc3QgcHJvZmlsZTogYW55ID0gYXdhaXQgKGF3YWl0IGZldGNoKGAke0NXfS9hcGkvdjEvcHJvZmlsZWAsIHsgaGVhZGVyczogYXV0aCB9KSkuanNvbigpOwpjb25zdCBhY2NvdW50SWQgPSBwcm9maWxlLmFjY291bnRfaWQgPz8gcHJvZmlsZS5hY2NvdW50cz8uWzBdPy5pZDsKaWYgKCFwcm9maWxlLmFjY2Vzc190b2tlbiB8fCAhYWNjb3VudElkKSBzdG9wKCdjb3VsZCBub3QgcmVhZCB0aGUgQ2hhdHdvb3QgYWNjZXNzIHRva2VuJyk7CgovLyAzLiBBbHJlYWR5IGxpbmtlZD8gVGhlbiB3ZSdyZSBkb25lLgpjb25zdCBhcHBzOiBhbnlbXSA9IGF3YWl0IChhd2FpdCB3YShgL2FwaS9hcHBzP3Nlc3Npb249JHtTRVNTSU9OfWApKS5qc29uKCkuY2F0Y2goKCkgPT4gW10pOwppZiAoQXJyYXkuaXNBcnJheShhcHBzKSAmJiBhcHBzLnNvbWUoKGEpID0+IGEuYXBwID09PSAnY2hhdHdvb3QnKSkgewogIGxvZygnV2hhdHNBcHAgaXMgYWxyZWFkeSBsaW5rZWQgdG8gQ2hhdHdvb3Q7IG5vdGhpbmcgdG8gZG8nKTsKICBwcm9jZXNzLmV4aXQoMCk7Cn0KCi8vIDQuIFdBSEEgc2Vzc2lvbiwgY3JlYXRlZCBidXQgbm90IHN0YXJ0ZWQuCmlmICgoYXdhaXQgd2EoYC9hcGkvc2Vzc2lvbnMvJHtTRVNTSU9OfWApKS5zdGF0dXMgPT09IDQwNCkgewogIHJlcyA9IGF3YWl0IHdhKCcvYXBpL3Nlc3Npb25zJywgeyBtZXRob2Q6ICdQT1NUJywgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBuYW1lOiBTRVNTSU9OLCBzdGFydDogZmFsc2UgfSkgfSk7CiAgaWYgKCFyZXMub2spIHN0b3AoYGNyZWF0aW5nIHRoZSBXQUhBIHNlc3Npb24gZmFpbGVkIChIVFRQICR7cmVzLnN0YXR1c30pYCk7CiAgbG9nKGBjcmVhdGVkIFdBSEEgc2Vzc2lvbiAiJHtTRVNTSU9OfSJgKTsKfQoKLy8gNS4gQ2hhdHdvb3QgIldoYXRzQXBwIiBBUEkgaW5ib3ggd2hvc2Ugd2ViaG9vayBwb2ludHMgYXQgdGhlIFdBSEEgYXBwLgpjb25zdCBhcHBJZCA9IGBhcHBfJHtjcnlwdG8ucmFuZG9tVVVJRCgpLnJlcGxhY2UoLy0vZywgJycpfWA7CnJlcyA9IGF3YWl0IGZldGNoKGAke0NXfS9hcGkvdjEvYWNjb3VudHMvJHthY2NvdW50SWR9L2luYm94ZXNgLCB7CiAgbWV0aG9kOiAnUE9TVCcsIGhlYWRlcnM6IHsgLi4uYXV0aCwgJ2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LAogIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgbmFtZTogJ1doYXRzQXBwJywgY2hhbm5lbDogeyB0eXBlOiAnYXBpJywgd2ViaG9va191cmw6IGAke1dBfS93ZWJob29rcy9jaGF0d29vdC8ke1NFU1NJT059LyR7YXBwSWR9YCB9IH0pLAp9KTsKY29uc3QgaW5ib3g6IGFueSA9IGF3YWl0IHJlcy5qc29uKCk7CmlmICghcmVzLm9rIHx8ICFpbmJveC5pbmJveF9pZGVudGlmaWVyKSBzdG9wKGBjcmVhdGluZyB0aGUgV2hhdHNBcHAgaW5ib3ggZmFpbGVkIChIVFRQICR7cmVzLnN0YXR1c30pYCk7CmxvZyhgY3JlYXRlZCB0aGUgQ2hhdHdvb3QgaW5ib3ggIldoYXRzQXBwIiAoaWQgJHtpbmJveC5pZH0pYCk7CgovLyA2LiBXQUhBJ3MgQ2hhdHdvb3QgYXBwLgpyZXMgPSBhd2FpdCB3YSgnL2FwaS9hcHBzJywgewogIG1ldGhvZDogJ1BPU1QnLAogIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsKICAgIGlkOiBhcHBJZCwgc2Vzc2lvbjogU0VTU0lPTiwgYXBwOiAnY2hhdHdvb3QnLCBlbmFibGVkOiB0cnVlLAogICAgY29uZmlnOiB7CiAgICAgIHVybDogQ1csIGFjY291bnRJZCwgYWNjb3VudFRva2VuOiBwcm9maWxlLmFjY2Vzc190b2tlbiwgaW5ib3hJZDogaW5ib3guaWQsIGluYm94SWRlbnRpZmllcjogaW5ib3guaW5ib3hfaWRlbnRpZmllciwKICAgICAgbG9jYWxlOiAnZW4tVVMnLCBsaW5rUHJldmlldzogJ09GRicsIHRlbXBsYXRlczoge30sIGNvbW1hbmRzOiB7IHNlcnZlcjogdHJ1ZSwgcXVldWU6IHRydWUgfSwKICAgICAgY29udmVyc2F0aW9uczogeyBzb3J0OiAnY3JlYXRlZF9uZXdlc3QnLCBzdGF0dXM6IG51bGwsIG1hcmtBc1JlYWQ6IHRydWUsIHN5bmNNZXNzYWdlU3RhdHVzOiBmYWxzZSB9LAogICAgfSwKICB9KSwKfSk7CmlmICghcmVzLm9rKSBzdG9wKGBsaW5raW5nIFdBSEEgdG8gQ2hhdHdvb3QgZmFpbGVkIChIVFRQICR7cmVzLnN0YXR1c306ICR7KGF3YWl0IHJlcy50ZXh0KCkpLnNsaWNlKDAsIDIwMCl9KWApOwpsb2coJ2xpbmtlZCBXQUhBIHRvIENoYXR3b290Jyk7CgovLyA3LiBBIHByaXZhdGUgbm90ZSBpbiB0aGUgIldoYXRzQXBwIEludGVncmF0aW9uIiBjb252ZXJzYXRpb24gKGNyZWF0ZWQgYnkgV0FIQSksIHdoZXJlIHRoZSB1c2VyIGNvbm5lY3RzIFdoYXRzQXBwLAovLyAgICBzbyB0aGV5IGRvbid0IGhhdmUgdG8gd29uZGVyIGhvdyBpdCB3b3JrcyBvciBob3cgdG8gdGVzdCBpdC4KY29uc3QgTk9URSA9IFsKICAnV2VsY29tZSEgVGhpcyBjb252ZXJzYXRpb24gY29udHJvbHMgeW91ciBXaGF0c0FwcCBjb25uZWN0aW9uIChXQUhBKS4nLAogICcnLAogICcxLiBIYXZlIHlvdXIgcGhvbmUgcmVhZHksIHRoZW4gdHlwZSBzdGFydCBoZXJlLiBBIFFSIGNvZGUgYXBwZWFycyBpbiB0aGlzIGNvbnZlcnNhdGlvbiwgd2l0aCBhIGZldyBzdGF0dXMgd2FybmluZ3M7IHRoZXkgYXJlIG5vcm1hbCB1bnRpbCB5b3Ugc2Nhbi4nLAogICcyLiBPbiB0aGUgcGhvbmUgd2hvc2UgV2hhdHNBcHAgbnVtYmVyIHlvdSB3YW50IHRvIHVzZSwgb3BlbiBXaGF0c0FwcCwgdGhlbiBTZXR0aW5ncywgTGlua2VkIGRldmljZXMsIExpbmsgYSBkZXZpY2UsIGFuZCBzY2FuIHRoZSBRUiBjb2RlLicsCiAgJzMuIFRoYXRcJ3MgaXQuIFdoZW4gc29tZW9uZSBtZXNzYWdlcyB0aGF0IG51bWJlciwgdGhlIGNoYXQgYXBwZWFycyBpbiB0aGlzIFdoYXRzQXBwIGluYm94LCBhbmQgeW91ciByZXBsaWVzIGhlcmUgYXJlIHNlbnQgZnJvbSB0aGF0IG51bWJlci4gWW91ciBwaG9uZSBrZWVwcyB3b3JraW5nIGFzIHVzdWFsLicsCiAgJycsCiAgJ0VhY2ggUVIgY29kZSBsYXN0cyBhYm91dCAyMCBzZWNvbmRzLCBzbyBuZXcgb25lcyBrZWVwIGFycml2aW5nIHVudGlsIHlvdSBzY2FuOiBzY2FuIHRoZSBuZXdlc3QuIElmIHRoZXkgc3RvcCBiZWZvcmUgeW91IHNjYW4gKGFmdGVyIGFib3V0IDIgbWludXRlcyksIHR5cGUgc3RhcnQgYWdhaW4uJywKICAnVG8gdGVzdCBpdCwgc2VuZCBhIG1lc3NhZ2UgdG8gdGhhdCBudW1iZXIgZnJvbSBhIGRpZmZlcmVudCBwaG9uZS4nLAogICdDb21tYW5kcyB5b3UgY2FuIHR5cGUgaGVyZTogc3RhcnQsIHN0YXR1cywgaGVscC4nLAogICdVc2UgYSBudW1iZXIgeW91IGNhbiBhZmZvcmQgdG8gbG9zZTogdGhpcyBpcyBhbiB1bm9mZmljaWFsIFdoYXRzQXBwIGNvbm5lY3Rpb24sIGFuZCBXaGF0c0FwcCBjYW4gYmFuIG51bWJlcnMsIGVzcGVjaWFsbHkgZm9yIGJ1bGsgbWVzc2FnaW5nLicsCl0uam9pbignXG4nKTsKbGV0IGNvbnZvOiBhbnk7CmZvciAobGV0IGkgPSAwOyBpIDwgMTIgJiYgIWNvbnZvOyBpKyspIHsKICBjb25zdCBsaXN0OiBhbnkgPSBhd2FpdCAoYXdhaXQgZmV0Y2goYCR7Q1d9L2FwaS92MS9hY2NvdW50cy8ke2FjY291bnRJZH0vY29udmVyc2F0aW9ucz9pbmJveF9pZD0ke2luYm94LmlkfSZzdGF0dXM9YWxsYCwgeyBoZWFkZXJzOiBhdXRoIH0pKS5qc29uKCkuY2F0Y2goKCkgPT4gKHt9KSk7CiAgY29udm8gPSBsaXN0Py5kYXRhPy5wYXlsb2FkPy5bMF07CiAgaWYgKCFjb252bykgYXdhaXQgc2xlZXAoNV8wMDApOwp9CmlmIChjb252bykgewogIHJlcyA9IGF3YWl0IGZldGNoKGAke0NXfS9hcGkvdjEvYWNjb3VudHMvJHthY2NvdW50SWR9L2NvbnZlcnNhdGlvbnMvJHtjb252by5pZH0vbWVzc2FnZXNgLCB7CiAgICBtZXRob2Q6ICdQT1NUJywgaGVhZGVyczogeyAuLi5hdXRoLCAnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sCiAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IGNvbnRlbnQ6IE5PVEUsIG1lc3NhZ2VfdHlwZTogJ291dGdvaW5nJywgcHJpdmF0ZTogdHJ1ZSB9KSwKICB9KTsKICBsb2cocmVzLm9rID8gJ2FkZGVkIHRoZSBob3ctdG8gbm90ZSB0byB0aGUgIldoYXRzQXBwIEludGVncmF0aW9uIiBjb252ZXJzYXRpb24nIDogYGNvdWxkIG5vdCBhZGQgdGhlIGhvdy10byBub3RlIChIVFRQICR7cmVzLnN0YXR1c30pYCk7Cn0gZWxzZSB7CiAgbG9nKCd0aGUgIldoYXRzQXBwIEludGVncmF0aW9uIiBjb252ZXJzYXRpb24gZGlkIG5vdCBhcHBlYXI7IHNraXBwZWQgdGhlIGhvdy10byBub3RlJyk7Cn0KbG9nKGBEb25lLiBMb2cgaW4gYXQgJHtDV30gYXMgJHtFTUFJTH0sIG9wZW4gdGhlICJXaGF0c0FwcCBJbnRlZ3JhdGlvbiIgY29udmVyc2F0aW9uIGluIHRoZSBXaGF0c0FwcCBpbmJveCwgdHlwZSBzdGFydCBhbmQgc2NhbiB0aGUgUVIgY29kZS5gKTsKcHJvY2Vzcy5leGl0KDApOwo=`

### WAHA https://cdn.jsdelivr.net/gh/mikedepo/railway-template-assets@6ab06146e7d9a658953ce107fdbb88d57799794d/service-icons/whatsapp.svg

- **Image:** devlikeapro/waha:gows-2026.9.2
- **Health check:** /ping
- **Public domain:** Yes

### Redis https://cdn.jsdelivr.net/gh/mikedepo/railway-template-assets@6ab06146e7d9a658953ce107fdbb88d57799794d/service-icons/redis.svg

- **Image:** redis:8.2
- **Start command:** `/bin/sh -c "rm -rf $RAILWAY_VOLUME_MOUNT_PATH/lost+found/ && exec docker-entrypoint.sh redis-server --requirepass $REDIS_PASSWORD --save 60 1 --dir $RAILWAY_VOLUME_MOUNT_PATH"`

### Postgres https://cdn.jsdelivr.net/gh/mikedepo/railway-template-assets@6ab06146e7d9a658953ce107fdbb88d57799794d/service-icons/postgresql.svg

- **Image:** pgvector/pgvector:pg16

## Documentation

# Deploy and Host Chatwoot (w/ WhatsApp) on Railway

Chatwoot is an open-source support inbox for website chat, email and messaging apps. This template connects your WhatsApp number, so your team answers its chats in Chatwoot.

![Chatwoot with WhatsApp on Railway](https://cdn.jsdelivr.net/gh/mikedepo/railway-template-assets@6ab06146e7d9a658953ce107fdbb88d57799794d/chatwoot-whatsapp/banner.png)

## About Hosting Chatwoot (w/ WhatsApp)

1. Deploy with your email and a password. A Setup service then creates your admin account, the WhatsApp inbox and the WAHA link.
2. Log in at your Chatwoot URL with that email and password.
3. In the WhatsApp inbox, open "WhatsApp Integration", type `start`.
4. On the phone with your WhatsApp number: Linked devices, Link a device, scan the QR code.

Chatwoot now works like WhatsApp Web for your number. To test, message it from another phone.

## Common Use Cases

- WhatsApp customer support
- Shared team inbox
- Website chat and email

## Dependencies for Chatwoot (w/ WhatsApp) Hosting

- PostgreSQL (pgvector)
- Redis
- WAHA

### Deployment Dependencies

- [WAHA Chatwoot guide](https://waha.devlike.pro/blog/apps-chatwoot-config/)
- [Chatwoot environment variables](https://developers.chatwoot.com/self-hosted/configuration/environment-variables)

### Implementation Details

![Architecture: WhatsApp reaches WAHA, which passes messages to and from Chatwoot; Redis and Postgres stay on the private network; Setup runs once](https://cdn.jsdelivr.net/gh/mikedepo/railway-template-assets@6ab06146e7d9a658953ce107fdbb88d57799794d/chatwoot-whatsapp/architecture.png)

WAHA is unofficial: WhatsApp can ban numbers, especially for bulk messaging.

## Why Deploy Chatwoot (w/ WhatsApp) 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 Chatwoot (w/ WhatsApp) 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.


**Updated 2026-10-28:** first release.

Based on the Chatwoot template by Brody.


## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/chatwoot-w-whatsapp
