🔧 Install & Update

On the page you'll find answers on how to install and update WAHA.

👉 If you wish to follow a Step-By-Step guide which show you how to send you first message via HTTP API please go to ⚡ Quick Start.

Requirements

Docker 🐳

👉 WAHA works on top of Docker, that’s the only thing you’ll need!

  • Docker - please follow the official guides to install it on Linux, Windows, and macOS.
  • Docker Compose - optional, but recommended for easier configuration.
Why Docker?

Docker makes it easy to ship all-in-one solution with the runtime and dependencies. You don’t have to worry about language-specific libraries or chrome installation.

Also, Docker makes installation and update processes so simple, just one command!

Why Docker Compose? Docker Compose is a tool for defining and running Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration.

Choose the installation method

You probably already have run the docker run command during ⚡ Quick Start guide:

docker run -it --rm -p 3000:3000/tcp --name waha devlikeapro/waha

☝️ The above command is good for testing and development purposes, but not for production.

To make it production-ready, you need to configure few more parameters to make it secure, reliable, and easy to manage.

Please choose the installation method you prefer:

Choose docker image

We’ll use ➕ WAHA Plus docker image in the examples:

docker login -u devlikeapro -p {KEY}
docker pull devlikeapro/waha-plus
docker logout

If you’re using the ARM processor (like Apple Silicon, Apple M1, etc.) - add :arm tag at the end of the image name in the above commands.

```bash
docker login -u devlikeapro -p {KEY}
docker pull devlikeapro/waha-plus:arm
docker logout

# Rename it, so you can use devlikeapro/waha image in other place
docker tag devlikeapro/waha-plus:arm devlikeapro/waha-plus

For WAHA Core - use devlikeapro/waha image instead of devlikeapro/waha-plus.

Docker Compose

Install

Here’s ready to go docker-compose.yml.

Some important values you MUST change before running it:

mkdir ~/waha
cd ~/waha
wget https://raw.githubusercontent.com/devlikeapro/waha/core/docker-compose.yaml

# Change the values in the file
# nano docker-compose.yaml
# vim docker-compose.yaml

docker compose up -d

Now, open http://localhost:3000/dashboard and login with the credentials you’ve set.

What is next?

The docker compose doesn’t have few thing you might need:

Update

When there’s a new version of WAHA, you can update it with a single commands:

# Login if you're using WAHA Plus
docker login -u devlikeapro -p {KEY}
docker compose pull
docker logout

# Just pull if you're using WAHA Core
# docker compose pull

docker compose up -d

👉 If you specified exact version in docker-compose.yml, like

image: devlikeapro/waha-plus:latest-2024.7.8

remember to change it to latest-{YEAR}.{MONTH}.{BUILD} to get the latest version.

Maintenance

# Stop all containers
docker compose down
# Start all containers
docker compose up -d
# Restart all containers
docker compose restart
# Show logs in real time
docker compose logs -f
# Show logs - since interval
docker compose logs --since 1h  

Docker

Install

The simple way to run WAHA is to use the docker run command.

Some important values you MUST change before running it:

docker run -d \
    --restart=always \
    --name waha \
    -p 3000:3000/tcp \
    -v ./.sessions:/app/.sessions \
    -v ./.media:/app/.media \
    --env WHATSAPP_API_KEY=321 \
    --env WAHA_DASHBOARD_USERNAME=waha \
    --env WAHA_DASHBOARD_PASSWORD=waha \
    --env WAHA_LOG_FORMAT=PRETTY \
    --env WAHA_LOG_LEVEL=info \
    --env WHATSAPP_DEFAULT_ENGINE=WEBJS \
    --env WHATSAPP_RESTART_ALL_SESSIONS=True \
    --env WAHA_PRINT_QR=False \
    --env WHATSAPP_FILES_LIFETIME=0 \
    --env WHATSAPP_FILES_FOLDER=/app/.media \
    devlikeapro/waha-plus:latest

👉 To make it easy to manage, here’s the scripts:

mkdir ~/waha
cd ~/waha
wget https://raw.githubusercontent.com/devlikeapro/waha/core/scripts/waha-run.sh
chmod +x waha-run.sh
wget https://raw.githubusercontent.com/devlikeapro/waha/core/scripts/waha-update.sh
cd +x waha-update.sh

# Change the values in run script
# nano waha-run.sh
# vim waha-run.sh

# Run the script - it'll download the latest version and start it
./waha-update.sh
# Insert your password from Patron Portal - https://portal.devlike.pro/

Now, open http://localhost:3000/dashboard and login with the credentials you’ve set.

Update

# Login if you're using WAHA Plus
docker login -u devlikeapro -p {KEY}
docker pull devlikeapro/waha-plus
docker logout

# Just pull if you're using WAHA Core
# docker pull devlikeapro/waha

docker stop waha
docker rm waha
docker run -d \
    ... \ <==== Use the same lines as in the installation command
    devlikeapro/waha-plus:latest

OR using the scripts:

mkdir ~/waha
cd ~/waha
wget https://raw.githubusercontent.com/devlikeapro/waha/core/scripts/waha-run.sh
chmod +x waha-run.sh
wget https://raw.githubusercontent.com/devlikeapro/waha/core/scripts/waha-update.sh
cd +x waha-update.sh

./waha-update.sh

Maintenance

# Stop the container
docker stop waha
# Start the container
docker start waha
# Restart the container
docker restart waha
# Show logs in real time
docker logs -f waha
# Show logs - since interval
docker logs --since 1h waha