Dokumentasi MikBOT
Panduan lengkap instalasi, konfigurasi, dan penggunaan.
Pendahuluan
MikBOT adalah dashboard manajemen Mikrotik untuk operator hotspot RT/RW Net dan ISP kecil. Mengelola voucher hotspot, akun PPPoE, sistem reseller, dan multi-bot Telegram dalam satu aplikasi.
Fitur utama:
- Voucher hotspot dengan generate batch & print template
- PPPoE management dengan isolir otomatis saat overdue
- Multi-bot Telegram dengan webhook routing
- Sistem reseller dengan deposit balance & komisi
- Integrasi Tripay (QRIS, e-wallet, virtual account)
- Real-time WebSocket untuk monitoring router
- Auto-update dari GitHub Release
Requirements
- VPS: Ubuntu 22.04 LTS atau Debian 11+ (minimal 1 vCPU, 1 GB RAM, 20 GB disk)
- Domain: dengan DNS A record ke IP VPS
- Database: MariaDB / MySQL 5.7+
- Reverse proxy: nginx / Caddy / aapanel (dengan SSL Let's Encrypt)
- Mikrotik: RouterOS v6.x atau v7.x dengan API enabled
Instalasi
Login ke VPS Anda sebagai root, lalu jalankan installer one-command:
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/yandinovriandi/mikbot/main/scripts/install.sh)"
Installer akan menanyakan:
- Domain MikBOT (mis.
bot.domain.com) - Database credentials (atau auto-generate)
- Branding isolir (nama, WhatsApp support, dll)
Setelah instalasi selesai, setup reverse proxy nginx + SSL via Let's Encrypt, lalu buka URL untuk membuat akun owner pertama.
Aktivasi License
Setelah membuat akun owner dan login, dashboard akan ke-block dan otomatis redirect ke halaman /license.
- Hubungi vendor untuk mendapatkan license key (format
MIKBOT-XXXX-XXXX-XXXX-XXXX) - Paste key di form aktivasi
- Klik Aktifkan
- License akan ter-validasi dengan license server, dashboard unlocked
License divalidasi ulang setiap 30 menit. Kalau license server tidak terjangkau, MikBOT tetap berfungsi dalam grace period 72 jam.
Setup Router
Aktifkan API di Mikrotik:
/ip service set api address=0.0.0.0/0 disabled=no port=8728
/ip service set api-ssl disabled=no port=8729
Tambah router di dashboard MikBOT:
- Menu Routers → + Tambah Router
- Isi nama, IP/hostname, port API (default 8728), username, password
- Klik Test Connection untuk verifikasi
- Save
Voucher Hotspot
Buat Profil Voucher
Menu Voucher Packages → + Tambah Package. Isi:
- Nama paket (mis. "1 Hari Unlimited")
- Harga jual ke customer
- Profile Mikrotik (harus sudah ada di RouterOS, mis.
1day) - Validity (mis.
24h) - Router target
Generate Voucher Batch
- Menu Vouchers → + Generate Batch
- Pilih package, jumlah (mis. 100), prefix code (opsional)
- Klik Generate — voucher di-push ke router otomatis
- Print template dengan klik Print di list batch
PPPoE Management
Setup Package PPPoE
Menu PPPoE Packages → + Tambah. Isi nama, harga bulanan, profile RouterOS, validity (1 bulan).
Tambah Akun PPPoE
- Menu PPPoE Accounts → + Tambah
- Isi username, password, profile, customer info
- Set tanggal mulai dan jatuh tempo
- Akun otomatis di-push ke router
Isolir Otomatis
Scheduler isolir berjalan setiap jam, cek akun PPPoE yang overdue (lewat jatuh tempo + grace period). Saat overdue:
- Profile di Mikrotik diganti ke
ISOLIR - Aktif session di-disconnect
- Customer hanya bisa akses halaman isolir landing
Setup di Mikrotik
Di menu Routers → klik router → Isolir Setup, MikBOT generate script ROS otomatis untuk:
- Profile ISOLIR dengan walled-garden
- DNS redirect ke landing page
- Firewall rules untuk block traffic non-whitelist
Copy script, paste di Mikrotik terminal. Script support RouterOS v6 dan v7.
Bot Telegram
Buat Bot
- Chat @BotFather di Telegram →
/newbot - Catat token bot
- Menu MikBOT Telegram Bots → + Tambah Bot
- Paste token, test connection
- Set router pin (router yang dipakai untuk voucher dari bot)
- Save — webhook otomatis di-register
Commands Bot
/start— info bot/daftar— daftar sebagai reseller/menu— list voucher tersedia + tombol beli/saldo— cek saldo deposit/deposit— request topup/resetmac <username>— reset MAC voucher
Sistem Reseller
Reseller adalah user yang bisa beli voucher dengan harga modal via bot Telegram atau portal web. Setiap reseller punya saldo deposit.
Tambah Reseller
- Menu Resellers → + Tambah
- Isi nama, telegram ID, harga jual custom (opsional)
- Set saldo awal kalau ada
Reseller Portal
URL: https://yourdomain.com/portal
Reseller login dengan akun yang dibuat owner. Bisa beli voucher, deposit, lihat transaksi.
Tripay Payment
Daftar di tripay.co.id untuk dapat:
- API Key
- Private Key
- Merchant Code
Tambahkan ke .env:
TRIPAY_MODE=production
TRIPAY_API_KEY=...
TRIPAY_PRIVATE_KEY=...
TRIPAY_MERCHANT_CODE=...
Setelah aktif, reseller bisa topup deposit via QRIS / e-wallet / VA dari portal.
Users & RBAC
Role yang tersedia:
- Owner — full access, satu-satunya yang bisa manage users + license
- Admin — semua kecuali manage users
- Operator — read-only, bisa lihat data tapi tidak ubah
- Reseller — akses portal reseller saja, tidak masuk dashboard admin
Auto Update
MikBOT auto-update saat ada release baru di GitHub. Flow:
- Maintainer push tag
vX.Y.Zke GitHub - GitHub Actions build binary + frontend, publish release
- Webhook fire ke instance Anda
- MikBOT download tarball, extract, restart service
- Update selesai dalam ~30 detik
Cek update terbaru di menu dashboard atau halaman Changelog.
Troubleshooting
Service tidak start
systemctl status mikbot.service
journalctl -u mikbot.service -n 50 --no-pager
Router tidak konek
- Pastikan API enabled:
/ip service print - Firewall RouterOS allow port 8728/8729 dari IP VPS
- Test telnet dari VPS:
telnet ROUTER_IP 8728
Bot Telegram tidak respond
- Cek webhook status di menu Bot
- Test token via curl:
curl https://api.telegram.org/bot$TOKEN/getMe - Lihat log:
tail -f /opt/mikbot/mikbot.log | grep TG
License invalid
Buka halaman /license di dashboard. Klik tombol Recheck. Kalau masih invalid, hubungi vendor untuk verifikasi status license.
Lupa password owner
SSH ke VPS, reset via MySQL:
mysql -u mikbot -p mikbot
UPDATE users SET password='$2a$10$...' WHERE role='owner';
(Generate bcrypt hash via: htpasswd -bnBC 10 "" password | tr -d ':\n')
Butuh bantuan? Chat WhatsApp atau email [email protected]