feat(codespaces): .devcontainer + auto-setup & auto-run (Step 10) + rapikan README
This commit is contained in:
1 parent
996b738c4e
commit
4c7a046efe
4 files changed
+54
-2
No files matched your search
@@ -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"
|
||||||
|
}
|
||||||
Executable
+18
@@ -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."
|
||||||
Executable
+11
@@ -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"
|
||||||
@@ -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
|
||||||
|
|
||||||
|
[](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
|
||||||
|
|||||||
Reference in new issue
Block a user