An open-source web hosting panel for Debian 13

Jabali Panel: free GPL web hosting control panel for Debian. Replace cPanel with Docker proxy, mail, DNS, SSL, backups, and WordPress hosting.

By Jabali Panel team Updated 3 min read

Jabali Panel is an open-source web hosting control panel, built for Debian 13 (Trixie) and released under the AGPL-3.0 licence. It targets sysadmins, hosting companies, and freelancers who run their own servers and would rather not pay per-account fees for a commercial panel.

What it manages

A single host running Jabali Panel covers the standard hosting workload:

  • Domains and nginx vhosts with Let’s Encrypt SSL, optional HTTP/3, and per-user limit_req rate limits
  • Per-user PHP-FPM pools (8.1 through 8.5, Sury packaging), each running under its own system user
  • Mailboxes via Stalwart Mail 0.16.0 — SMTP, IMAP, JMAP — with Roundcube webmail and per-domain DKIM, SPF, DMARC, MTA-STS
  • DNS via PowerDNS Authoritative with a MariaDB backend, plus pdns-recursor on loopback for panel-internal lookups
  • DNSSEC signing per domain (opt-in), with the DS record displayed in the UI for registrar publication
  • MariaDB 11.x for tenant databases (PostgreSQL is opt-in)
  • One-click applications — WordPress is the primary citizen, plus 14 additional apps (Moodle, Drupal, Joomla, NextCloud, etc.)
  • Backups via restic to local storage, S3-compatible destinations, or remote servers, with one-click restore
  • Security defaults — CrowdSec AppSec WAF inline with nginx, Snuffleupagus PHP hardening, AppArmor on every service, AIDE host integrity, auditd, per-user nftables egress rules

The stack

The panel API (jabali-panel-api) is a Go service using Gin for HTTP routing and GORM for the data layer. The browser UI is a React single-page application built on Ant Design and TanStack Query. A second Go process (jabali-agent) runs as root and executes every privileged host operation; the panel API itself runs unprivileged and reaches the agent over a Unix domain socket.

This shape means the user-facing panel never has direct root, and host changes are funnelled through one auditable code path.

Why self-host

Three reasons people pick Jabali Panel over a SaaS or a paid commercial panel:

  • No licence costs. cPanel charges per account; Plesk charges per server tier. Jabali is GPL — install it on as many servers as you need, no fees.
  • Full data ownership. Your server, your data. No telemetry. No vendor cloud dependency. No risk of the panel vendor going out of business.
  • Modifiable source. The AGPL licence lets you modify and redistribute the code. Adapt the panel to your infrastructure rather than adapting your infrastructure to a closed panel.

Who uses it

  • Sysadmins and DevOps engineers managing a handful of Debian VPS instances who want a GUI for routine tasks without giving up ssh access.
  • Hosting companies moving off per-account licences who want to control their cost-per-customer at the OS layer.
  • WordPress-focused hosts who want per-site PHP-FPM isolation, one-click WordPress installs with auto-update, and automated SSL — without paying per site.
  • Freelancers managing client servers who want a reliable panel clients can access without needing root.

System requirements

FieldMinimumRecommended
OSDebian 13 (Trixie)Debian 13 (Trixie)
RAM2 GB4 GB+
Disk20 GB SSD40 GB+ SSD
vCPU12+
NetworkPublic IPv4 + resolvable hostname+ IPv6

The installer purges sury-nginx if present (Sury dropped nginx in 2026) and pins nginx to the Debian-native package. KVM/QEMU on a clean Debian 13 cloud image is the supported deployment shape; LXD privileged containers work; unprivileged LXC does not (cgroup v2 + systemd-user timer requirements).

Try it

curl -fsSL https://jabali-panel.com/install.sh | bash

That single command installs nginx, MariaDB, PowerDNS, PHP-FPM, Stalwart Mail, CrowdSec, Ory Kratos, and the panel itself. End-to-end takes 8–15 minutes on a fresh VPS. The installer is idempotent and safe to re-run.

For a guided walkthrough, the installation guide covers DNS prep and panel-hostname certificate issuance; the quickstart walks from clean host to live WordPress site in seven steps. The demo panel lets you click around the UI without installing.

Frequently Asked Questions

What operating system does Jabali Panel run on?
Jabali Panel supports Debian 13 (Trixie) only. The installer detects and rejects earlier Debian releases and Ubuntu.
What is Jabali Panel built with?
The panel API and agent are written in Go. The browser UI is a React SPA using Ant Design and TanStack Query. The panel itself is not PHP-based.
Is Jabali Panel really free and open source?
Yes. jabali-panel-api and jabali-agent are both released under AGPL-3.0. There are no paid tiers or feature locks.
How long does installation take?
A single curl command installs everything. End-to-end takes 8–15 minutes on a fresh Debian 13 VPS. The installer is idempotent and safe to re-run.
Which PHP versions does Jabali Panel support for hosted sites?
Jabali installs PHP-FPM versions 8.1 through 8.5 from the Sury repository. Each hosted user gets a dedicated PHP-FPM pool socket. PHP-FPM is a hosted workload managed by the panel, not part of the panel's own runtime.
Does Jabali Panel include WordPress management?
Yes. The Applications section provides one-click WordPress installation using WP-CLI. The wizard provisions the database, downloads WordPress, runs wp core install, and creates a single-use SSO link into wp-admin with a 60-second TTL.
Can I migrate from cPanel or DirectAdmin?
Yes. Jabali Panel's Migrations section can ingest archives from cPanel (.tar.gz / cpmove), DirectAdmin, Hestia, and WHM.