Plugins¶
Overview¶
StarkOne ships with a core feature set and extends via plugins. Plugins are installed on demand. When a plugin is disabled, its API endpoints return 403 Plugin Not Enabled and its sidebar entries are hidden.
Plugin state is stored in the SQLite database. The panel itself does not need to restart when a plugin is enabled or disabled - the middleware check is evaluated per-request.
Listing Plugins¶
Response:
{
"data": [
{
"id": "postgresql",
"name": "PostgreSQL",
"enabled": true,
"description": "PostgreSQL database management"
},
...
]
}
Enabling / Disabling a Plugin¶
Both return { "data": { "enabled": true } }.
Available Plugins¶
| Plugin ID | Name | Description |
|---|---|---|
postgresql |
PostgreSQL | PostgreSQL database management + pgAdmin |
mongodb |
MongoDB | MongoDB database management |
proxysql |
ProxySQL | MySQL load balancer / read-write split |
haproxy |
HAProxy | Layer 4/7 load balancer |
dnslb |
DNS Load Balancer | dnsdist-based DNS load balancing |
uptime |
Uptime Monitor | HTTP/ICMP uptime monitoring |
init-script |
Init Script | Record and replay panel actions as init scripts |
sharelink |
ShareLink | Secure file sharing via expiring links |
m365-backup |
M365 Backup | Microsoft 365 mailbox backup to S3 |
pm2 |
PM2 | Node.js process manager integration |
nginx-acl |
Nginx ACL | Advanced nginx access control lists |
netprobe |
NetProbe | Network debugging toolkit |
logvault |
LogVault | Centralised log search and storage |
advanced-network |
Advanced Network | BGP, GRE/VXLAN tunnels, Keepalived VRRP |
wireguard-vpn |
VPN Manager | WireGuard VPN + Headscale + IPSec |
powerdns |
PowerDNS | PowerDNS authoritative nameserver |
mail-server |
Mail Server | Integrated mail server (Postfix/Dovecot) |
multi-panel |
Multi-Panel | Manage multiple StarkOne servers from one UI |
Plugin Architecture¶
Each plugin's backend is conditionally activated via the middleware.RequirePlugin(db, "plugin-id") middleware in the route registration. If the plugin is not enabled in the database, the middleware short-circuits the request with:
Plugins that install external services (PostgreSQL, MongoDB, HAProxy) manage their own install/uninstall lifecycle through dedicated API endpoints.