KursusOtomasi WhatsApp untuk Bisnis
ModulPembayaran dan produksi
Durasi12 min
Progress0/7
Materi Pelajaran0/7 · 0%
  1. 1Apa yang kita bangun, dan setup proyeknya8 min
  2. 2Menyambung ke WhatsApp Cloud API12 min
  3. 3Session dan state machine alur pesanan12 min
  4. 4Mini CRM: kontak, order, dan label10 min
  5. 5Pembayaran dalam chat dengan sandbox Midtrans12 min
  6. 6Hardening: dedup, retry, dan pengambilalihan manusia10 min
  7. 7Deploy dengan Docker, lepas dari laptop selamanya12 min

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"]
Kalau better-sqlite3 gagal terpasang di image slim, ganti baris pertama jadi FROM node:20 (image penuh membawa build tools).

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 boot
--restart bertahan saat reboot; volume menjaga bot.db di luar container supaya deploy tak pernah menghilangkan data; bind ke 127.0.0.1 menyembunyikan port dari internet publik.

Langkah 3: HTTPS dengan Caddy

# /etc/caddy/Caddyfile  (point bot.yourdomain.com's DNS at the server)
bot.yourdomain.com {
  reverse_proxy localhost:3000
}
Caddy mengambil dan memperpanjang sertifikat TLS otomatis. Dua baris membeli HTTPS produksi.

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.

Mau ini dibangun dan dioperasikan untuk Anda?AI CRM kami persis sistem ini, dijalankan sebagai layanan.
Deploy dengan Docker, lepas dari laptop selamanya - Otomasi WhatsApp untuk Bisnis | Etzal Academy | Etzal Group