Create a Self-Hosted WhatsApp Gateway with go-whatsapp-web-multidevice

Posted by

I have a Telegram bot for notifications. However, sometimes I also need the notifications to be sent to WhatsApp. So, I decided to use a WhatsApp Gateway.

You can either use a cloud-based WhatsApp Gateway or set up a self-hosted one

Image generated by AI

I am using go-whatsapp-web-multidevice to Create a Self-Hosted WhatsApp Gateway

For easier understanding, below is the system information that will be used

System Information:

OS: Ubuntu 24.04
IP : 192.168.1.82

# Download WhatsApp Gateway

When this article was written, the latest WhatsApp Gateway version is v5.6.0. You can check for the new version here: Aldino Kemal github: https://github.com/aldinokemal/go-whatsapp-web-multidevice

cd /opt
curl -L https://github.com/aldinokemal/go-whatsapp-web-multidevice/releases/download/v5.6.0/linux-amd64 -o whatsapp-web-multidevice
chmod +x /opt/whatsapp-web-multidevice

# Testing

Run the following command to start WhatsApp Gateway multidevice

/opt/whatsapp-web-multidevice

Please access http://192.168.1.82:3000 via web browser

If you want to use a basic username and password when accessing the web, please add the -b option.

/opt/whatsapp-web-multidevice -b=wagateway:StrongPass

Note: wagateway is the username and StrongPass is the password. Please adjust it according to your requirements.

Because this WA Gateway is only used for the Bot and does not save chats, please add the –chat-storage=false option.

/opt/whatsapp-web-multidevice -b=wagateway:StrongPass --chat-storage=false

# Linked Device

Go to the web WhatsApp Gateway -> click login to add a device (WhatsApp). Scan the QR code from WhatsApp on your mobile device.

From mobile devices, open WhatsApp application, click the icon in the top right corner and select Linked devices. Scan the QR code that appears on the WhatsApp Gateway

Now you can use the Web WhatsApp Gateway to send messages, images, etc.

# Configure auto start-up

Create the service by running the following command in the terminal/konsole.

sudo tee /etc/systemd/system/whatsapp-web-multidevice.service >/dev/null <<EOF
[Unit]
Description=WhatsApp Web Multi-Device Service
After=network.target
[Service]
Type=simple
ExecStart=/opt/whatsapp-web-multidevice -b=wagateway:StrongPass --chat-storage=false
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF

Reload Daemon

systemctl daemon-reload

Enable and Restart service

systemctl enable whatsapp-web-multidevice
systemctl restart whatsapp-web-multidevice

Good Luck 🙂

2 comments

  1. Hello,

    Thank you for sharing this info but now the version upgraded to v7.4.0. can you please share document for the same

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.