Cara Install WhatsApp Gateway Docker (whatsapp-web.js) di Ubuntu 22.04

Diposting pada
WhatsApp Gateway sangat berguna untuk notifikasi jaringan, monitoring server,
alert MikroTik, hingga sistem informasi RTRW Net
.
Tutorial ini menggunakan whatsapp-web.js (WWebJS) dan dijalankan
di Docker agar rapi, stabil, dan mudah dikelola.


Apa Itu WhatsApp Gateway?

WhatsApp Gateway adalah sistem yang memungkinkan server mengirim pesan WhatsApp
secara otomatis melalui API lokal berbasis WhatsApp Web.

Contoh penggunaan:

  • Notifikasi internet down
  • Alert PPPoE offline
  • Monitoring server & jaringan
  • Pesan broadcast internal

Teknologi yang Digunakan

  • Node.js
  • whatsapp-web.js
  • Express.js
  • Docker & Docker Compose

Persiapan

  • Ubuntu Server 22.04
  • Docker & Docker Compose aktif
  • Port 8000 belum digunakan
  • Nomor WhatsApp aktif (untuk scan QR)

Step 1 – Buat Folder Project WhatsApp Gateway

mkdir wa-gateway
cd wa-gateway

Step 2 – Buat File server.js

nano server.js

Isi dengan kode berikut:

const { Client, LocalAuth } = require('whatsapp-web.js');
const express = require('express');
const bodyParser = require('body-parser');
const qrcode = require('qrcode-terminal');

const app = express();
app.use(bodyParser.json());

const client = new Client({
  authStrategy: new LocalAuth(),
  puppeteer: {
    args: ['--no-sandbox', '--disable-setuid-sandbox']
  }
});

client.on('qr', qr => {
  qrcode.generate(qr, { small: true });
});

client.on('ready', () => {
  console.log('WhatsApp Gateway READY');
});

client.initialize();

app.post('/send', async (req, res) => {
  const number = req.body.number;
  const message = req.body.message;

  try {
    await client.sendMessage(number + '@c.us', message);
    res.json({ status: true, message: 'Pesan terkirim' });
  } catch (err) {
    res.json({ status: false, error: err.message });
  }
});

app.listen(8000, () => {
  console.log('WA Gateway running on port 8000');
});

Step 3 – Buat File package.json

nano package.json
{
  "name": "wa-gateway",
  "version": "1.0.0",
  "description": "WhatsApp Gateway Docker",
  "main": "server.js",
  "scripts": {
    "start": "node server.js"
  },
  "dependencies": {
    "express": "^4.18.2",
    "body-parser": "^1.20.2",
    "whatsapp-web.js": "^1.26.0",
    "qrcode-terminal": "^0.12.0"
  }
}

Step 4 – Buat Dockerfile

nano Dockerfile
FROM node:18

WORKDIR /app

COPY package.json .
RUN npm install

COPY . .

CMD ["npm", "start"]

Step 5 – Buat docker-compose.yml

nano docker-compose.yml
version: '3.8'

services:
  wa-gateway:
    build: .
    container_name: wa_gateway
    restart: always
    ports:
      - "8000:8000"
    volumes:
      - ./session:/app/.wwebjs_auth
    environment:
      - TZ=Asia/Jakarta

Step 6 – Jalankan WhatsApp Gateway

docker compose up -d

Lihat QR Code:

docker logs wa_gateway

Scan QR menggunakan aplikasi WhatsApp di HP.


Step 7 – Test Kirim Pesan

curl -X POST http://IP-SERVER:8000/send \
-H "Content-Type: application/json" \
-d '{
  "number": "628xxxxxxxxxx",
  "message": "Test WhatsApp Gateway berhasil ✅"
}'

Integrasi dengan MikroTik

WhatsApp Gateway ini sangat cocok diintegrasikan dengan MikroTik
untuk notifikasi otomatis.

Contoh endpoint:

http://IP-SERVER:8000/send

Keunggulan WhatsApp Gateway Docker

  • Auto start saat server reboot
  • Session tersimpan
  • Mudah backup & migrasi
  • Cocok untuk colocation mini

Cocok untuk Colocation Mini

WhatsApp Gateway harus berjalan 24/7.
Dengan colocation mini, gateway lebih stabil dibanding server rumahan.

WhatsApp: +62 817-7681-2221


Penutup

WhatsApp Gateway Docker ini sangat cocok untuk monitoring jaringan,
RTRW Net, dan server belajar.

Tutorial lanjutan:

  • Keamanan WhatsApp Gateway
  • Auto backup session
  • Load balancing WA Gateway

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *