Lesson 7 / 7 · 12 min
Deploy dengan Docker, lepas dari laptop selamanya
Dockerfile, sebuah server, HTTPS dengan Caddy, dan checklist produksi. Checkpoint: bot menjawab saat laptop Anda mati.
ngrok mati bersama laptop Anda. Produksi berarti server kecil (VPS apa pun dengan RAM 1 GB lebih dari cukup untuk bot ini), kode Anda dalam container, dan domain HTTPS sungguhan yang bisa dipanggil Meta dan Midtrans siang malam.
Langkah 1: Dockerfile-nya
FROM node:20-slim
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY . .
ENV NODE_ENV=production
CMD ["node", "server.js"]Langkah 2: build dan jalankan di server
# .dockerignore first: node_modules, data, .env
docker build -t wa-bot .
docker run -d --name wa-bot \
--restart unless-stopped \
--env-file .env \
-p 127.0.0.1:3000:3000 \
-v "$(pwd)/data:/app/data" \
wa-bot
docker logs -f wa-bot # watch it bootLangkah 3: HTTPS dengan Caddy
# /etc/caddy/Caddyfile (point bot.yourdomain.com's DNS at the server)
bot.yourdomain.com {
reverse_proxy localhost:3000
}Langkah 4: arahkan ulang webhook
Di console Meta ganti callback URL ke https://bot.yourdomain.com/webhook dan verifikasi ulang; di Midtrans isi notification URL ke /payment/notify di domain yang sama. Kirim pesan tes dan pembayaran sandbox untuk membuktikan kedua jalur mencapai server.
Checklist menuju live
- Ganti token Meta sementara dengan token system-user permanen, dan simpan hanya di .env di server.
- Untuk mengirim ke pelanggan mana pun (di luar 5 penerima tes), selesaikan verifikasi bisnis dan daftarkan nomor sungguhan di console Meta.
- Alihkan Midtrans dari sandbox ke key dan domain produksi saat siap menerima uang sungguhan.
- Backup data/bot.db harian (cron job yang menyalin file sudah cukup di skala ini).
- Arahkan uptime monitor ke server supaya Anda tahu downtime sebelum pelanggan.
Checkpoint terakhir: matikan laptop Anda, kirim pesan ke bot, selesaikan pesanan dan pembayaran sandbox. Kalau konfirmasinya tiba, Anda telah membangun dan merilis sistem perdagangan WhatsApp produksi, arsitektur yang sama dengan yang dioperasikan tim kami untuk klien, hanya lebih kecil.
Yang Anda dapatkan
- VPS 1 GB, satu container, dan Caddy memberi hosting produksi sungguhan
- Volume data dan flag --restart melindungi database dan uptime
- Arahkan ulang webhook Meta dan Midtrans ke domain HTTPS lalu verifikasi ulang
- Token permanen, verifikasi bisnis, backup, dan uptime monitor melengkapi go-live
Sumber terkurasi
Referensi pilihan untuk mendalami lebih jauh, direview oleh tim kami.