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.
Konsultasi Colocation Mini
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
