|
| 1 | +--- |
| 2 | +title: "WAHA + ChatWoot - Installation Guide" |
| 3 | +description: "WAHA + ChatWoot - Installation Guide" |
| 4 | +excerpt: "WAHA + ChatWoot - Installation Guide" |
| 5 | +date: 2025-07-11T08:48:45+00:00 |
| 6 | +draft: false |
| 7 | +images: [ "waha-chatwoot.png" ] |
| 8 | +categories: [ "Apps", "ChatWoot" ] |
| 9 | +tags: [ ] |
| 10 | +contributors: [ "devlikeapro" ] |
| 11 | +pinned: false |
| 12 | +homepage: false |
| 13 | +slug: apps-chatwoot-install |
| 14 | +--- |
| 15 | + |
| 16 | +## Overview |
| 17 | +Complete guide to install and set up production-ready **WAHA** and **Chatwoot** instances on your own infrastructure! |
| 18 | + |
| 19 | +{{< include file="content/docs/apps/chatwoot/-chatwoot-articles.md" >}} |
| 20 | + |
| 21 | +After completing the installation guide, you'll have: |
| 22 | +- **WAHA** on [**http://localhost:3000**](http://localhost:3000) |
| 23 | +- **ChatWoot** on [**http://localhost:3009**](http://localhost:3009) |
| 24 | + |
| 25 | +{{< include file="content/docs/apps/chatwoot/-disclaimer.md" >}} |
| 26 | + |
| 27 | +## Requirements |
| 28 | +- **Hardware**: VM, VPS, or laptop with minimum **2 CPU** and **4GB RAM** |
| 29 | +- **Operating System**: **Debian** or **Ubuntu** based distributions. |
| 30 | + |
| 31 | +{{< include file="content/blog/apps-chatwoot-1-install/-ssh-port-forwarding.md" >}} |
| 32 | + |
| 33 | +## Steps to Deploy |
| 34 | +### 0. Add DNS Aliases |
| 35 | +First, we need to add **DNS Aliases** so everything works as inside docker containers. |
| 36 | + |
| 37 | +👉 **Run the below commands on YOUR LAPTOP/PC**, NOT on the **VPS or VM**: |
| 38 | + |
| 39 | +{{< tabs "dns-aliases" >}} |
| 40 | +{{< tab "MacOS" >}} |
| 41 | +```bash { title="Add DNS Aliases (MacOS)" } |
| 42 | +# Add |
| 43 | +echo "127.0.0.1 chatwoot" | sudo tee -a /etc/hosts |
| 44 | +echo "127.0.0.1 waha" | sudo tee -a /etc/hosts |
| 45 | + |
| 46 | +# Check it worked - you must see the line like: |
| 47 | +# 64 bytes from localhost (127.0.0.1): ... |
| 48 | +ping chatwoot |
| 49 | +ping waha |
| 50 | +``` |
| 51 | +{{< /tab >}} |
| 52 | + |
| 53 | +{{< tab "Linux" >}} |
| 54 | +```bash { title="Add DNS Aliases (Linux)" } |
| 55 | +# Add |
| 56 | +echo "127.0.0.1 chatwoot" | sudo tee -a /etc/hosts |
| 57 | +echo "127.0.0.1 waha" | sudo tee -a /etc/hosts |
| 58 | + |
| 59 | +# Check it worked - you must see the line like: |
| 60 | +# 64 bytes from localhost (127.0.0.1): ... |
| 61 | +ping chatwoot |
| 62 | +ping waha |
| 63 | +``` |
| 64 | +{{< /tab >}} |
| 65 | +{{< tab "Windows" >}} |
| 66 | +Run **PowerShell as Admin** and execute: |
| 67 | +```bash { title="Add DNS Aliases (Windows, PowerShell as Admin)" } |
| 68 | +Add-Content -Path "$env:SystemRoot\System32\drivers\etc\hosts" -Value "`n127.0.0.1 chatwoot" |
| 69 | +Add-Content -Path "$env:SystemRoot\System32\drivers\etc\hosts" -Value "`n127.0.0.1 waha" |
| 70 | + |
| 71 | +ping chatwoot |
| 72 | +ping waha |
| 73 | +``` |
| 74 | +{{< /tab >}} |
| 75 | +{{< /tabs >}} |
| 76 | + |
| 77 | +### 1. Install Docker |
| 78 | +```bash { title="Install Docker" } |
| 79 | +# example in ubuntu |
| 80 | +apt-get update |
| 81 | +apt-get upgrade |
| 82 | +curl -fsSL https://get.docker.com -o get-docker.sh |
| 83 | +sudo sh get-docker.sh |
| 84 | +apt install docker-compose-plugin |
| 85 | +``` |
| 86 | + |
| 87 | +### 2. Download the required files |
| 88 | +```bash { title="Download files" } |
| 89 | +# Download the env files |
| 90 | +wget -O .waha.env https://raw.githubusercontent.com/devlikeapro/waha/refs/heads/core/docker-compose/chatwoot/.waha.env |
| 91 | +wget -O .chatwoot.env https://raw.githubusercontent.com/devlikeapro/waha/refs/heads/core/docker-compose/chatwoot/.chatwoot.env |
| 92 | +# Download docker-compose |
| 93 | +wget -O docker-compose.yaml https://raw.githubusercontent.com/devlikeapro/waha/refs/heads/core/docker-compose/chatwoot/docker-compose.yaml |
| 94 | +``` |
| 95 | + |
| 96 | +### 4. Configure environment variables |
| 97 | +Now you can tweak `.waha.env`, `.chatwoot.env` and `docker-compose.yaml` according to your preferences. |
| 98 | + |
| 99 | +Here are a few environment variables we suggest that you change before going forward (in this guide we'll use **the default values**): |
| 100 | +```env { title=".waha.env" } |
| 101 | +WAHA_API_KEY_PLAIN=00000000000000000000000000000000 |
| 102 | +WAHA_API_KEY=sha512:98b6d128682e280b74b324ca82a6bae6e8a3f7174e0605bfd52eb9948fad8984854ec08f7652f32055c4a9f12b69add4850481d9503a7f2225501671d6124648 |
| 103 | +WAHA_DASHBOARD_USERNAME=admin |
| 104 | +WAHA_DASHBOARD_PASSWORD=11111111111111111111111111111111 |
| 105 | +WHATSAPP_SWAGGER_USERNAME=admin |
| 106 | +WHATSAPP_SWAGGER_PASSWORD=11111111111111111111111111111111 |
| 107 | +``` |
| 108 | + |
| 109 | +### 5. Pull docker images |
| 110 | +{{< tabs "download-docker-image" >}} |
| 111 | + |
| 112 | +{{< tab "➕ WAHA Plus" >}} |
| 113 | +If you got the |
| 114 | +[➕ WAHA Plus]({{< relref "/docs/how-to/waha-plus" >}}) |
| 115 | +, use the following commands: |
| 116 | + |
| 117 | +```bash { title="Pull Docker Images: WAHA Plus" } |
| 118 | +docker login -u devlikeapro -p {KEY} |
| 119 | +docker compose pull |
| 120 | +docker logout |
| 121 | +``` |
| 122 | + |
| 123 | +👉 Go to |
| 124 | +[**Docker Image Configurator**](https://portal.devlike.pro/docker-image) |
| 125 | +to generate the command with the right version. |
| 126 | +{{< /tab >}} |
| 127 | + |
| 128 | +{{< tab "WAHA Core" >}} |
| 129 | +1. In `docker-compose.yaml` change `image: devlikeapro/waha-plus` to `image: devlikeapro/waha` |
| 130 | +2. Run the command: |
| 131 | +```bash { title="Pull Docker Images: WAHA Core" } |
| 132 | +docker compose pull |
| 133 | +``` |
| 134 | + |
| 135 | +{{< /tab >}} |
| 136 | + |
| 137 | +{{< tab "WAHA (ARM)" >}} |
| 138 | +If you're using **ARM CPU** (like Apple M1/M2, Raspberry Pi etc.). |
| 139 | + |
| 140 | +If you got the |
| 141 | +[➕ WAHA Plus]({{< relref "/docs/how-to/waha-plus" >}}): |
| 142 | +1. In `docker-compose.yaml` change `image: devlikeapro/waha-plus` to `image: devlikeapro/waha-plus:arm` |
| 143 | +2. Run the commands: |
| 144 | + |
| 145 | +```bash { title="Pull Docker Images: WAHA Plus (ARM)" } |
| 146 | +docker login -u devlikeapro -p {KEY} |
| 147 | +docker pull devlikeapro/waha-plus:arm |
| 148 | +docker logout |
| 149 | +``` |
| 150 | + |
| 151 | +👉 Go to |
| 152 | +[**Docker Image Configurator**](https://portal.devlike.pro/docker-image) |
| 153 | +to generate the command with the right version. |
| 154 | + |
| 155 | +--- |
| 156 | + |
| 157 | +If you want to run **WAHA Core**: |
| 158 | +1. In `docker-compose.yaml` change `image: devlikeapro/waha-plus` to `image: devlikeapro/waha:arm` |
| 159 | +2. Run the commands: |
| 160 | +```bash { title="Pull Docker Images: WAHA Core (ARM)" } |
| 161 | +docker compose pull |
| 162 | +``` |
| 163 | +{{< /tab >}} |
| 164 | + |
| 165 | +{{< /tabs >}} |
| 166 | + |
| 167 | +### 6. Prepare ChatWoot database |
| 168 | +```bash { title="Prepare ChatWoot Database" } |
| 169 | +docker compose run --rm chatwoot bundle exec rails db:chatwoot_prepare |
| 170 | +``` |
| 171 | + |
| 172 | +### 7. Start the services |
| 173 | +```bash { title="Start Services" } |
| 174 | +docker compose up -d |
| 175 | +``` |
| 176 | + |
| 177 | +### 8. Access your WAHA |
| 178 | +**Open** [**http://localhost:3000/dashboard**](http://localhost:3000/dashboard) with credentials: |
| 179 | +- User: `admin` |
| 180 | +- Password: `11111111111111111111111111111111` |
| 181 | + |
| 182 | +**Add Api Key** to your worker: |
| 183 | +- Api-Key: `00000000000000000000000000000000` |
| 184 | + |
| 185 | + |
| 186 | + |
| 187 | + |
| 188 | +### 9. Access your ChatWoot |
| 189 | +**Open** and **finish** the onboarding guide on [**http://localhost:3009/**](http://localhost:3009/) |
| 190 | + |
| 191 | + |
| 192 | + |
| 193 | + |
| 194 | +## What is next? |
| 195 | + |
| 196 | +👉 Connect **WhatsApp** to **ChatWoot** in |
| 197 | +[**WAHA + ChatWoot - Configuration Guide**]({{< relref "/blog/apps-chatwoot-2-config" >}}) |
| 198 | + |
| 199 | +{{< include file="content/docs/apps/chatwoot/-chatwoot-articles.md" >}} |
0 commit comments