docs(wiki): halaman awal — instalasi, konfigurasi, FAQ, troubleshooting
22
FAQ.md
Normal file
22
FAQ.md
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# FAQ
|
||||||
|
|
||||||
|
**Apakah perlu kode aktivasi?**
|
||||||
|
Tidak. Semua menu sudah terbuka. Pengaturan sidebar hanya untuk menampilkan/menyembunyikan menu.
|
||||||
|
|
||||||
|
**Login pelanggan pakai apa?**
|
||||||
|
ID Pelanggan (mis. `SKY-12345`) atau nomor WhatsApp yang terdaftar.
|
||||||
|
|
||||||
|
**Kenapa menu Update tidak muncul?**
|
||||||
|
Hanya tampil pada instalasi yang punya folder `.git`. Instalasi container melakukan update lewat rebuild image.
|
||||||
|
|
||||||
|
**Kenapa sertifikat HTTPS tidak valid?**
|
||||||
|
Bisa karena Caddy memakai internal CA, atau sertifikat belum terbit. Periksa konfigurasi TLS di reverse proxy.
|
||||||
|
|
||||||
|
**Domain internal tidak resolve?**
|
||||||
|
Pastikan klien memakai DNS internal (Technitium), DoH browser dimatikan, dan cache DNS sudah di-flush.
|
||||||
|
|
||||||
|
**Bagaimana backup?**
|
||||||
|
Menu **Sistem → Backup** (SQLite). Backup otomatis juga tersedia lewat cron.
|
||||||
|
|
||||||
|
**Bahasa Indonesia/English?**
|
||||||
|
Bisa diganti dari UI (switcher ID/EN).
|
||||||
31
Home.md
Normal file
31
Home.md
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
# OPEN-ISP Wiki
|
||||||
|
|
||||||
|
Dokumentasi untuk **OPEN-ISP** — sistem billing & manajemen ISP (fiber optic), open source dan self-hosted.
|
||||||
|
|
||||||
|
## Mulai di sini
|
||||||
|
|
||||||
|
- [[Instalasi]] — kebutuhan, instalasi, menjalankan aplikasi
|
||||||
|
- [[Konfigurasi]] — MikroTik, OLT, GenieACS, RADIUS, WhatsApp/Telegram, AI, update
|
||||||
|
- [[FAQ]] — pertanyaan yang sering muncul
|
||||||
|
- [[Troubleshooting]] — masalah umum dan solusinya
|
||||||
|
|
||||||
|
## Repositori
|
||||||
|
|
||||||
|
- Gitea: <https://gitea.oxpoe.xyz/oxpoe/open-isp>
|
||||||
|
- Forgejo: <https://forgejo.oxpoe.xyz/oxpoe/open-isp>
|
||||||
|
- Rilis & unduhan: tab **Releases** di salah satu repositori di atas
|
||||||
|
|
||||||
|
## Dokumentasi di repo
|
||||||
|
|
||||||
|
- `README.md` — gambaran fitur
|
||||||
|
- `CHANGELOG.md` — riwayat perubahan
|
||||||
|
- `docs/QUICK_REFERENCE.md` — referensi cepat
|
||||||
|
- `docs/ADMIN_SETTINGS_USAGE.md` — panduan pengaturan admin
|
||||||
|
- `docs/ROUTER_CONNECTION_FLOW.md` — alur koneksi router
|
||||||
|
- `docs/RADIUS_MIKROTIK_INTEGRATION.md` — integrasi RADIUS
|
||||||
|
- `docs/DATABASE_SCHEMA.md` — skema database
|
||||||
|
- `docs/screenshots/` — tangkapan layar
|
||||||
|
|
||||||
|
## Lisensi
|
||||||
|
|
||||||
|
ISC. Berdasarkan base code [alijayanet/billing-rtrw](https://github.com/alijayanet/billing-rtrw).
|
||||||
61
Instalasi.md
Normal file
61
Instalasi.md
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
# Instalasi
|
||||||
|
|
||||||
|
## Kebutuhan
|
||||||
|
|
||||||
|
- Linux (x86_64/arm64) dengan **Node.js 22+**
|
||||||
|
- SQLite (bawaan, tanpa server terpisah)
|
||||||
|
- MikroTik RouterOS 7 (API port 8728/8729) untuk fitur jaringan
|
||||||
|
- Opsional: GenieACS/ACS, OLT (SNMP/CLI), RADIUS
|
||||||
|
|
||||||
|
## Dari source
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://gitea.oxpoe.xyz/oxpoe/open-isp.git
|
||||||
|
cd open-isp
|
||||||
|
npm install
|
||||||
|
cp env-example.txt .env # sesuaikan bila perlu
|
||||||
|
node app-customer.js
|
||||||
|
```
|
||||||
|
|
||||||
|
Aplikasi berjalan di `http://localhost:3001` (atau `PORT` yang di-set).
|
||||||
|
|
||||||
|
## Data demo
|
||||||
|
|
||||||
|
```bash
|
||||||
|
node scripts/seed-demo.js
|
||||||
|
```
|
||||||
|
|
||||||
|
Login admin hasil seed: `admin` / `demo-isp123`.
|
||||||
|
|
||||||
|
## Docker
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
## Systemd (produksi)
|
||||||
|
|
||||||
|
Contoh unit:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
[Unit]
|
||||||
|
Description=OPEN-ISP
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
WorkingDirectory=/opt/open-isp
|
||||||
|
ExecStart=/usr/bin/node app-customer.js
|
||||||
|
Restart=always
|
||||||
|
Environment=PORT=3001
|
||||||
|
Environment=NODE_ENV=production
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
```
|
||||||
|
|
||||||
|
## Setelah instalasi
|
||||||
|
|
||||||
|
1. Login admin → ganti password di **Pengaturan**.
|
||||||
|
2. Atur `app_url`/`public_base_url` agar tautan WhatsApp benar.
|
||||||
|
3. Tambahkan router MikroTik, paket, dan pelanggan.
|
||||||
|
4. (Opsional) atur notifikasi WhatsApp/Telegram dan AI di **Pengaturan**.
|
||||||
45
Konfigurasi.md
Normal file
45
Konfigurasi.md
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
# Konfigurasi
|
||||||
|
|
||||||
|
Semua pengaturan admin ada di menu **Pengaturan**.
|
||||||
|
|
||||||
|
## MikroTik
|
||||||
|
|
||||||
|
- Tambah router di **Jaringan → MikroTik** (host, port 8728/8729, user, password).
|
||||||
|
- Aktifkan service `api` atau `api-ssl` di RouterOS.
|
||||||
|
- Dukungan RouterOS 7 (API + TLS, sertifikat self-signed diperbolehkan).
|
||||||
|
|
||||||
|
## Paket & pelanggan
|
||||||
|
|
||||||
|
- Buat paket (harga, kecepatan, FUP) lalu daftarkan pelanggan.
|
||||||
|
- Profil PPPoE mengikuti nama paket; profil isolir dapat diatur terpisah.
|
||||||
|
|
||||||
|
## GenieACS / ACS
|
||||||
|
|
||||||
|
- **Jaringan → GenieACS Pro**: isi URL, user, password.
|
||||||
|
- Mendukung beberapa server ACS sekaligus.
|
||||||
|
|
||||||
|
## OLT
|
||||||
|
|
||||||
|
- **Jaringan → Manajemen OLT**: Hioso/HSGQ via SNMP; ZTE/Huawei via CLI.
|
||||||
|
- Gunakan `scripts/olt-probe.js` untuk mendeteksi OLT baru.
|
||||||
|
|
||||||
|
## RADIUS
|
||||||
|
|
||||||
|
- **Jaringan → RADIUS Server**: aktifkan, atur secret dan port.
|
||||||
|
- Lihat `docs/RADIUS_MIKROTIK_INTEGRATION.md`.
|
||||||
|
|
||||||
|
## Notifikasi
|
||||||
|
|
||||||
|
- **WhatsApp** (Gowa): untuk broadcast, pengingat, struk.
|
||||||
|
- **Telegram**: monitoring admin (menu, `/sistem`, `/pendapatan`, `/tunggakan`, dll).
|
||||||
|
|
||||||
|
## AI & Self-Healing
|
||||||
|
|
||||||
|
- **Pengaturan → AI & Self-Healing**.
|
||||||
|
- Provider OpenAI-compatible: DeepSeek (default), OpenAI, Groq, OpenRouter, custom/Ollama.
|
||||||
|
- Auto-repair bisa dinyalakan/dimatikan; default nonaktif.
|
||||||
|
|
||||||
|
## Update
|
||||||
|
|
||||||
|
- **Pengaturan → Sumber Update**: isi host Git (`https://gitea.oxpoe.xyz` atau `https://forgejo.oxpoe.xyz`) dan repo (`oxpoe/open-isp`).
|
||||||
|
- Instalasi container (tanpa `.git`) melakukan update dengan rebuild image.
|
||||||
36
Troubleshooting.md
Normal file
36
Troubleshooting.md
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
# Troubleshooting
|
||||||
|
|
||||||
|
## Aplikasi tidak mau start
|
||||||
|
|
||||||
|
- Cek versi Node: `node -v` (butuh 22+).
|
||||||
|
- Lihat log: `logs/` atau output service.
|
||||||
|
- Pastikan `better-sqlite3` terpasang untuk versi Node yang dipakai (`npm rebuild better-sqlite3`).
|
||||||
|
|
||||||
|
## Login gagal terus
|
||||||
|
|
||||||
|
- Pastikan username/password admin benar.
|
||||||
|
- Cek rate limit login (30 percobaan / 15 menit).
|
||||||
|
- Security watchdog memblokir IP sementara setelah 5 percobaan gagal; tunggu 15 menit.
|
||||||
|
|
||||||
|
## MikroTik tidak konek
|
||||||
|
|
||||||
|
- Cek service `api`/`api-ssl` di RouterOS.
|
||||||
|
- Pastikan port 8728/8729 tidak diblokir firewall.
|
||||||
|
- Untuk TLS self-signed, aplikasi sudah menonaktifkan verifikasi sertifikat.
|
||||||
|
|
||||||
|
## DNS internal tidak resolve
|
||||||
|
|
||||||
|
- Flush cache klien: `resolvectl flush-caches` (Linux), `ipconfig /flushdns` (Windows).
|
||||||
|
- Matikan DoH di browser (Firefox: `network.trr.mode = 5`).
|
||||||
|
- Pastikan A record di Technitium benar (bukan typo oktet).
|
||||||
|
- Turunkan TTL record internal bila sering berubah (mis. 300 detik).
|
||||||
|
|
||||||
|
## Sertifikat HTTPS
|
||||||
|
|
||||||
|
- Internal CA: pasang root CA Caddy di klien, atau gunakan sertifikat ACME.
|
||||||
|
- Cek masa berlaku: `openssl s_client -connect host:443 -servername domain`.
|
||||||
|
|
||||||
|
## Port/upstream
|
||||||
|
|
||||||
|
- Pastikan upstream (mis. `172.20.30.11:3001`) bisa diakses dari host reverse proxy.
|
||||||
|
- Cek log Caddy/Traefik untuk error 502/504.
|
||||||
Reference in New Issue
Block a user