feat(codespaces): .devcontainer + auto-setup & auto-run (Step 10) + rapikan README

This commit is contained in:
oxpoe committed 2026-10-09 06:44:08 +07:00
1 parent 996b738c4e
commit 4c7a046efe
4 files changed
+54 -2

No files matched your search

+17
View File
@@ -0,0 +1,17 @@
{
"name": "OPEN-ISP",
"image": "mcr.microsoft.com/devcontainers/javascript-node:1-22-bookworm",
"features": {
"ghcr.io/devcontainers/features/github-cli:1": {}
},
"forwardPorts": [3001],
"portsAttributes": {
"3001": { "label": "OPEN-ISP", "onAutoForward": "openPreview" }
},
"postCreateCommand": "bash .devcontainer/setup.sh",
"postStartCommand": "bash .devcontainer/start.sh",
"customizations": {
"vscode": { "extensions": ["dbaeumer.vscode-eslint"] }
},
"remoteUser": "node"
}
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Setup otomatis OPEN-ISP di GitHub Codespaces
set -e
cd "$(dirname "$0")/.."
echo "==> [OPEN-ISP] Menyiapkan dependensi sistem…"
sudo apt-get update -qq && sudo apt-get install -y -qq build-essential python3 >/dev/null 2>&1 || true
echo "==> [OPEN-ISP] Install dependensi npm…"
npm ci --omit=dev || npm install --omit=dev
echo "==> [OPEN-ISP] Siapkan file .env…"
[ -f .env ] || cp env-example.txt .env
echo "==> [OPEN-ISP] Siapkan data demo…"
node scripts/seed-demo.js || true
echo "==> [OPEN-ISP] Selesai. Aplikasi akan dijalankan otomatis di port 3001."
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/env bash
# Jalankan OPEN-ISP otomatis saat Codespace aktif
cd "$(dirname "$0")/.."
if pgrep -f "node app-customer.js" >/dev/null 2>&1; then
echo "==> [OPEN-ISP] Aplikasi sudah berjalan."
exit 0
fi
echo "==> [OPEN-ISP] Menjalankan aplikasi di background (port 3001)…"
nohup node app-customer.js > /tmp/open-isp.log 2>&1 &
sleep 3
echo "==> [OPEN-ISP] Log: /tmp/open-isp.log"
+8 -2
View File
@@ -19,7 +19,7 @@
--- ---
**OPEN-ISP** adalah aplikasi billing dan manajemen ISP yang lengkap: tagihan otomatis, isolir otomatis, pembayaran (QRIS/webhook), perangkat MikroTik (PPPoE & hotspot), OLT PON multi-vendor, TR-069 (GenieACS/ACS), RADIUS, peta jaringan, notifikasi WhatsApp & Telegram, hingga portal self-service pelanggan dalam satu platform — semuanya berjalan mandiri (self-hosted) dengan SQLite sebagai basis data. **NOTE:** dibuat dan ditulis oleh AI ([Deepseek](https://github.com/deepseek-ai)), on [opencode](https://github.com/anomalyco/opencode)). **OPEN-ISP** adalah aplikasi billing dan manajemen ISP yang lengkap: tagihan otomatis, isolir otomatis, pembayaran (QRIS/webhook), perangkat MikroTik (PPPoE & hotspot), OLT PON multi-vendor, TR-069 (GenieACS/ACS), RADIUS, peta jaringan, notifikasi WhatsApp & Telegram, hingga portal self-service pelanggan dalam satu platform — semuanya berjalan mandiri (self-hosted) dengan SQLite sebagai basis data. **NOTE:** dibuat dan ditulis oleh AI ([Deepseek](https://github.com/deepseek-ai)), on [opencode](https://github.com/anomalyco/opencode).
## Fitur ## Fitur
@@ -31,7 +31,7 @@
- **RADIUS** — server PAP/CHAP untuk PPPoE/hotspot, secret per-NAS. - **RADIUS** — server PAP/CHAP untuk PPPoE/hotspot, secret per-NAS.
- **Peta & GIS** — Leaflet + OpenStreetMap/satelit: marker pelanggan & ODP, jalur kabel, trafik PPPoE real-time; peta teknisi + rute Google Maps. - **Peta & GIS** — Leaflet + OpenStreetMap/satelit: marker pelanggan & ODP, jalur kabel, trafik PPPoE real-time; peta teknisi + rute Google Maps.
- **Portal & peran** — admin (super admin/admin/kasir), teknisi (tiket, input pelanggan dari lapangan), kolektor (cek tagihan & pengajuan pembayaran), dan **PWA pelanggan** (tagihan, bayar, tiket, SSID/password, speed test, mode offline). - **Portal & peran** — admin (super admin/admin/kasir), teknisi (tiket, input pelanggan dari lapangan), kolektor (cek tagihan & pengajuan pembayaran), dan **PWA pelanggan** (tagihan, bayar, tiket, SSID/password, speed test, mode offline).
- **Notifikasi** — WhatsApp (gateway [Gowa](https://github.com/aldinokemal/go-whatsapp-web-multidevice)): broadcast, pengingat otomatis, struk pembayaran; bot Telegram admin (opsional). - **Notifikasi** — WhatsApp (gateway [Gowa](https://github.com/aldinokemal/go-whatsapp-web-multidevice): broadcast, pengingat otomatis, struk pembayaran; bot Telegram admin (opsional).
- **Speed test** — server internal maupun eksternal (preset provider diatur admin), mode embed/tab, tombol Muat Ulang & Bersihkan Cache. - **Speed test** — server internal maupun eksternal (preset provider diatur admin), mode embed/tab, tombol Muat Ulang & Bersihkan Cache.
- **PWA** — dapat dipasang di HP, offline, pembaruan otomatis (bar "versi baru tersedia"). - **PWA** — dapat dipasang di HP, offline, pembaruan otomatis (bar "versi baru tersedia").
- **Bilingual** — antarmuka Indonesia / English (bisa diganti dari UI). - **Bilingual** — antarmuka Indonesia / English (bisa diganti dari UI).
@@ -58,6 +58,12 @@ Selengkapnya: **[Wiki OPEN-ISP](https://github.com/oxpoe/open-isp/wiki)**.
## Mulai Cepat ## Mulai Cepat
[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/oxpoe/open-isp)
### GitHub Codespaces (demo instan)
Klik badge di atas untuk membuka **Codespaces** — dependensi & data demo disiapkan otomatis, dan aplikasi langsung berjalan di **port 3001**. Login: `admin` / `demo-isp123`.
### Docker (disarankan) ### Docker (disarankan)
```bash ```bash