Backend: - routes/dns.rs: GET/POST/DELETE /api/dns/:domain (pdnsutil CRUD, SOA hidden, auto-rectify) - routes/email.rs: GET/POST/DELETE email accounts with Maildir provisioning - routes/me.rs: POST /api/me/password (verify current, hash new, update users+accounts) - routes/accounts.rs: GET /api/accounts/:username, suspend, unsuspend, terminate (deprovision+userdel) - main.rs: register all new routes; import axum::routing::delete - Cargo.toml: version bump 0.2.0-alpha -> 0.3.0-alpha NixServer: - Zone Manager page: lists all PowerDNS zones, click -> DNS editor - DNS Records page: add/delete records, colour-coded type badges, zone switcher - Service Manager page: dedicated page with refresh + running/stopped pills - List Accounts: Suspend/Unsuspend/Terminate buttons with confirmation modal - Domain cell links to live site NixClient: - Domains page: primary domain info, document root, quota, bandwidth - Email Accounts page: create/list/delete mailboxes with quota display - Change Password page: Argon2id verify + update server-side - AccountSidebar: fetches real account data (domain, package, quota) - api.ts: listMyEmailAccounts, createEmailAccount, deleteEmailAccount, changePassword, getMyAccount(username) CHANGELOG.md: v0.3.0-alpha entry
NixPanel
A fast, modern web hosting control panel for Linux servers.
Free and open alternative to cPanel/WHM — built in Rust.
Overview
NixPanel gives you everything cPanel/WHM does — without the legacy bloat or the $40/mo price tag.
| Panel | Port | Purpose |
|---|---|---|
| NixServer | 2087 |
Server admin — accounts, DNS, mail, SSL, services |
| NixClient | 2083 |
User panel — files, databases, email, domains |
Requirements
| OS | Ubuntu 24.04 LTS (x86_64) |
| RAM | 2 GB minimum · 4 GB recommended |
| Disk | 20 GB minimum |
| Access | Root |
Quick Install
bash <(curl -fsSL https://raw.githubusercontent.com/NixReaper/nixpanel/main/install.sh)
The installer is self-updating — it always fetches the latest version before running, so you never need to re-download it manually.
Want to inspect before running?
curl -fsSL https://raw.githubusercontent.com/NixReaper/nixpanel/main/install.sh -o install.sh
less install.sh
sudo bash install.sh
What Gets Installed
| Component | Version | Role |
|---|---|---|
| Apache 2 + PHP-FPM | 8.2 & 8.3 | Web server with multi-PHP support |
| MariaDB | 10.x | Database server (WordPress-compatible) |
| PowerDNS | Latest | DNS server |
| Exim 4 | Latest | Mail transfer agent |
| Dovecot | Latest | IMAP / POP3 server |
| SpamAssassin | Latest | Spam filtering |
| Fail2ban | Latest | Brute-force protection |
| Let's Encrypt | Certbot | Free SSL certificates |
| NixPanel | Latest | Control panel |
Stack
| Layer | Technology |
|---|---|
| Panel backend | Rust · Axum · SQLx · Tokio |
| Database | MariaDB |
| Web server | Apache 2 (reverse proxy) |
| Auth | JWT · Argon2id |
| Frontend | React 18 · TypeScript · Tailwind CSS · Vite |
Licensing
NixPanel uses a central licensing server at license.nixpanel.io. A license key is required during installation.
| Plan | Monthly | Annual | Servers |
|---|---|---|---|
| Free | $0 | $0 | 1 |
| Solo | $9.99 | $95.90 | 1 |
| Host | $29.99 | $287.90 | 5 |
| Agency | $79.99 | $767.90 | Unlimited |
Post-Install
| Task | Command |
|---|---|
| Add SSL | certbot --apache |
| View logs | journalctl -u nixpanel -f |
| Restart panel | systemctl restart nixpanel |
| Update panel | bash /opt/nixpanel/scripts/update.sh |
Access your panels:
http://YOUR_IP:2087 ← NixServer (admin)
http://YOUR_IP:2083 ← NixClient (users)
Changelog
See CHANGELOG.md for the full version history.
License
NixPanel is source-available software. You may inspect and self-host under the terms of the NixPanel License. Redistribution, resale, or offering NixPanel as a managed service is not permitted without a commercial agreement.
© 2025 NixPanel. All rights reserved.