Kendalikan VPS
Seperti Seorang
Jenderal Sejati.
Panel kontrol VPS open-source untuk server Ubuntu. Kelola website, database, SSL, Docker, firewall, backup & monitoring lewat GUI web modern — dikemas sebagai satu binary, tanpa runtime tambahan.
9+
Modul Manajemen
63
Permission RBAC
1 binary
Zero dependency
# Quick install Jenderal Panel
$ wget raw.githubusercontent.com/.../scripts/install.sh
$ sudo bash install.sh
✓ OS check: Ubuntu 24.04 LTS
✓ Dependencies: nginx, ufw, sqlite3
✓ User jenderal created
✓ TLS certificate generated
✓ Service started on :8443
╔══ Jenderal Panel Installed! ══╗
Panel URL: https://<SERVER_IP>:8443
Username: admin
Tanpa Panel
- Hafal puluhan perintah CLI untuk deploy website
- Konfigurasi Nginx & SSL manual, rawan salah ketik
- Tidak ada visibilitas CPU / RAM / disk real-time
- Backup & perpanjangan sertifikat sering lupa
Dengan Jenderal Panel
- Provisioning website otomatis (state machine pending → active)
- Editor config Nginx + validasi & rollback otomatis
- Dashboard monitoring real-time via WebSocket
- Backup terjadwal + auto-renewal SSL H-14
Fitur Lengkap
Satu Panel, Semua Kendali Server
Sembilan modul manajemen dalam satu GUI modern. Semua yang biasa Anda kerjakan lewat SSH, kini tinggal klik.
Manajemen Server
Dashboard Real-Time
Monitoring CPU, RAM, disk & network yang di-streaming via WebSocket. Selalu live, tanpa refresh.
Service Manager
Start / stop / restart layanan systemd: Nginx, PHP-FPM, MySQL, PostgreSQL, Redis.
Manajemen Nginx
Editor config dengan validasi + rollback, manajemen site, dan penampil log terintegrasi.
Firewall (UFW)
Kelola rules allow / deny / limit per port & IP, dengan peringatan proteksi SSH.
Process Manager
Daftar proses dengan sortir CPU/RAM, kill proses dengan pilihan signal.
Log Viewer
Baca log statis maupun streaming WebSocket dengan validasi path yang aman.
Manajemen Website
Website CRUD Otomatis
Provisioning otomatis dengan state machine: pending → active / failed.
Isolasi Per Website
Setiap website punya system user, home directory & PHP-FPM pool sendiri.
PHP Multi-Versi
Install & kelola PHP 8.1, 8.2, 8.3, 8.4 dengan pool per site.
File Manager + Domain
Browse, edit, upload & download (sandboxed) plus domain utama, alias & subdomain. Tipe app: PHP, Static, Laravel (auto-detect).
Deployment Aplikasi
- Git Deployment — clone/pull, auto-detect tipe app, build steps
- Laravel — composer install, artisan migrate & cache
- Node.js — install, systemd unit, reverse proxy Nginx
- Cron & Queue Worker — cron per user + worker systemd auto-restart
Database
- MySQL — install, buat/hapus DB, user & privileges
- PostgreSQL — manajemen penuh via psql / createdb
- Redis — install, status, info & flush
Backup & Restore
Backup website (tar), database (mysqldump/pg_dump), config — terjadwal via cron dengan retensi + restore sekali klik.
Docker
- Container: list, start/stop/restart, remove, logs, inspect
- Images: pull & remove • Volumes & Networks: create & remove
- Compose: up, down & status langsung dari panel
Monitoring & Alert
Rule CPU, RAM, disk, SSL expiry & service down. Notifikasi Webhook, Telegram, Discord, Email + auto-resolve.
Web Terminal, Self-Update & Mode Gelap/Terang
Eksekusi perintah via WebSocket (khusus admin), update sekali klik dari GitHub releases, dan tema yang mengikuti perangkat + toggle manual.
SSL & Keamanan
Security Center: Berlapis, Aman, Bisa Rollback
Keamanan bukan tempelan. Setiap operasi istimewa berjalan lewat sudo whitelist dengan argumen terpisah — tanpa sh -c, tanpa injeksi shell.
Let's Encrypt Otomatis
Issue / renew / revoke via lego (ACME). Worker latar memperpanjang H-14 sebelum kedaluwarsa.
Security Center
Ringkasan postur terpadu, event persisten & panduan pemulihan yang actionable.
Fail2ban Safe Mode
Install eksplisit, config milik panel tervalidasi, ban temporer & rollback saat gagal.
Malware Scanner
ClamAV mode hemat memori / daemon, scan terjadwal, karantina privat & review false-positive via hash.
Traffic Guard
Bukti anomali HTTP per website, profil trusted proxy, Observe Mode 24 jam & limit Nginx terbatas.
Auth & Audit
2FA/TOTP, API token Bearer, RBAC 63 permission, CSRF double-submit, rate limit & audit log lengkap.
// Safe Setup & Posture — read-only checks
# Contoh sudoers whitelist — hanya perintah predefinisi
jenderal ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart *
jenderal ALL=(ALL) NOPASSWD: /usr/sbin/ufw *
jenderal ALL=(ALL) NOPASSWD: /usr/bin/nginx -t
# Tidak ada sh -c → tidak ada injeksi shell ✓
Arsitektur
Satu Binary, Nol Drama
Frontend SvelteKit di-embed ke binary Go via go:embed. State internal di SQLite (WAL). Tanpa Docker, tanpa runtime Node di server.
SvelteKit UI (embedded via go:embed)
Chi HTTP Router
Session Auth + CSRF + RBAC
Service Layer (Go)
website • nginx • php • ssl • firewall • docker • backup …
Command Executor
sudo whitelist, tanpa sh -c
SQLite (WAL)
internal state
Linux System
systemd, ufw, nginx …
Single Binary
Frontend embedded, tidak butuh runtime eksternal.
SQLite Zero-Config
Database internal panel, langsung jalan.
Sudo Whitelist
Operasi privileged hanya via /etc/sudoers.d/jenderal.
Anti Injeksi
Semua perintah memakai argumen terpisah via os/exec.
Instalasi
Online dalam Hitungan Menit
Syarat: Ubuntu 22.04 / 24.04 LTS • 1 CPU • 1 GB RAM • 10 GB disk • akses root.
Opsi 1 — Download lalu jalankan
wget https://raw.githubusercontent.com/mohammadirham37/jenderal_panel/main/scripts/install.sh
sudo bash install.sh
Opsi 2 — One-liner
wget https://raw.githubusercontent.com/.../scripts/install.sh && sudo bash install.sh
Opsi 3 — Non-interaktif
sudo bash install.sh \
--hostname panel.example.com \
--email admin@example.com \
--password MySecurePass123 \
--port 8443 --force
bash install.sh --help # lihat semua opsi
Apa yang dilakukan installer?
- 1Cek OS, arsitektur & resource
- 2Install dependensi (curl, nginx, ufw, openssl, sqlite3)
- 3Buat system user
jenderal - 4Download binary dari GitHub releases / build dari source
- 5Generate TLS self-signed + tulis
/etc/jenderal/jenderal.yaml - 6Konfigurasi sudoers, migrasi DB, buat admin
- ✓Install & start systemd service + firewall UFW
Setelah instalasi:
Panel URL: https://<SERVER_IP>:8443
Username: admin • Password: (generated/diisi)
Instalasi Manual (Build dari Source)
1. Build dari source
cd jenderal_panel
make build # butuh Go 1.23+, Node 18+, npm
2. Install di server
sudo cp /tmp/jenderal /opt/jenderal/jenderal && sudo chmod +x /opt/jenderal/jenderal
sudo /opt/jenderal/jenderal migrate --config /etc/jenderal/jenderal.yaml
sudo /opt/jenderal/jenderal admin create --config /etc/jenderal/jenderal.yaml
sudo systemctl enable jenderal && sudo systemctl start jenderal
3. CLI yang tersedia
jenderal migrate # migrasi database
jenderal admin create # buat admin
jenderal version • jenderal restart
sudo /opt/jenderal/jenderal restart # via SSH (root)
Konfigurasi & Development
server: host: "0.0.0.0" port: 8443 database: path: "/var/lib/jenderal/jenderal.db" auth: session_ttl: "24h" logging: level: "info"
File: /etc/jenderal/jenderal.yaml • Override via env JENDERAL_* (cth: JENDERAL_SERVER_PORT=9443)
Prasyarat dev: Go 1.23+, Node.js 18+, npm, gcc (CGO/SQLite). Struktur: cmd/ • internal/ (20+ service) • web/ • scripts/ • systemd/ • configs/
Tech Stack
Dibangun dengan Teknologi Modern
Backend — Go 1.23+
Frontend — SvelteKit + Svelte 5
API & Real-Time
REST + WebSocket Siap Integrasi
Semua endpoint di bawah /api/v1/. Autentikasi via cookie sesi atau header Authorization: Bearer <token>.
- WS/ws/metrics — metrik server real-time
- WS/ws/logs?path=… — streaming log
- WS/ws/terminal — eksekusi perintah (admin)
// Response sukses
{"data": {...}, "meta": {"page": 1, "per_page": 20}}
// Response error
{"error": {"code": "VALIDATION_ERROR",
"message": "domain is required"}}
// Auth header
Authorization: Bearer <api-token>
FAQ
Pertanyaan Umum
Apakah Jenderal Panel gratis?
Ya, 100% open-source. Lisensi detail masih TBD — kontribusi via issue GitHub sangat diterima.
OS apa yang didukung?
Ubuntu 22.04 LTS dan 24.04 LTS dengan akses root. Kebutuhan minimum: 1 CPU, 1 GB RAM, 10 GB disk.
Apakah aman untuk production?
Dirancang aman: tanpa shell injection, sudo whitelist, path sandboxing, RBAC 63 permission, session HttpOnly+Secure+SameSite=Strict, CSRF double-submit, rate limiting, audit log, hashing Argon2id, dan 2FA/TOTP opsional.
Bagaimana SSL & backup bekerja?
SSL Let's Encrypt diterbitkan via ACME (lego) dan diperpanjang otomatis H-14. Backup mencakup website, database & config, terjadwal via cron dengan kebijakan retensi dan restore sekali klik.
Apakah perlu Docker / Node di server?
Tidak. Panel dikirim sebagai satu binary (frontend SvelteKit sudah di-embed). Docker hanya opsional jika Anda ingin mengelolanya lewat modul Docker.
Siap Memimpin Server Anda?
Install dalam satu perintah, akses via https://<IP>:8443, dan kelola semuanya dari browser.
Kontribusi diterima — buka issue dulu untuk diskusi perubahan.