NixPanel Documentation

v0.1.0  ·  Last updated March 2024

Quick Start

Get NixPanel running on your Linux server in under 5 minutes. All you need is SSH access and a fresh VPS.

New to Linux servers? No worries — NixPanel is designed to work even if you've never used a command line before. Follow this guide step-by-step and you'll be up and running in minutes.

Step 1 — SSH into your server

Open a terminal and connect to your server via SSH:

ssh root@your-server-ip

Step 2 — Run the installer

Paste this command and hit Enter. The installer will handle everything automatically:

curl -fsSL https://nixpanel.io/install.sh | bash

The installer will:

  • Detect your Linux distribution
  • Install Node.js 20.x LTS if needed
  • Download and install NixPanel
  • Create a systemd service that starts on boot
  • Open port 8443 in the firewall
  • Display your panel URL, username, and temporary password

Step 3 — Open the panel

When the installer finishes, it will show you a URL like https://your-ip:8443. Open it in your browser. You may see a security warning — this is normal until you set up a proper SSL certificate. Click "Advanced" → "Proceed anyway".

Step 4 — Complete the setup wizard

On first login, NixPanel walks you through a quick setup wizard to set your admin password and configure basic settings. This takes about 2 minutes.

You're done! NixPanel is now running on your server. The free version gives you system monitoring, service management, package management, and user management — forever, with no credit card needed.

Installation

Automatic installer (recommended)

curl -fsSL https://nixpanel.io/install.sh | bash

Install with options

# Install on a custom port (default: 8443)
curl -fsSL https://nixpanel.io/install.sh | bash -s -- --port 9443

# Install without opening firewall ports (manual setup)
curl -fsSL https://nixpanel.io/install.sh | bash -s -- --no-firewall

# Install a specific version
curl -fsSL https://nixpanel.io/install.sh | bash -s -- --version 0.1.0

Manual installation (advanced)

If you prefer to install manually or inspect the installer before running:

# Download the installer first
curl -fsSL https://nixpanel.io/install.sh -o install.sh

# Review the script
cat install.sh

# Run it
bash install.sh

System Requirements

Supported operating systems

  • AlmaLinux 8, 9
  • RHEL 8, 9
  • Rocky Linux 8, 9
  • Ubuntu 20.04, 22.04, 24.04 LTS
  • Debian 11, 12
Note: CentOS 7 and older are not supported. NixPanel requires systemd and a reasonably modern kernel (5.x+).

Minimum hardware

  • CPU: 1 vCPU
  • RAM: 512 MB (1 GB recommended)
  • Disk: 1 GB free space
  • Network: Port 8443 accessible (configurable)

Required software

The installer handles all dependencies automatically. For reference:

  • Node.js 20.x LTS (installed automatically)
  • systemd (included in all supported distros)
  • curl or wget (for installer)

First Login

After installation completes, the installer prints your access details:

  ✓ Installation complete! (52 seconds)

  Panel URL:  https://203.0.113.42:8443
  Username:   admin
  Password:   auto-generated-password

Log in with these credentials. On your first visit, NixPanel's setup wizard will:

  1. Ask you to change your admin password
  2. Set a server hostname / display name
  3. Configure your timezone
  4. Optionally set up a domain name for the panel

After completing the wizard, you'll land on the main dashboard.

General Settings

Access settings via the gear icon in the top-right of the panel, or navigate to Settings → General.

Available settings

  • Server Name — Display name shown in the panel header
  • Admin Email — Used for password reset and notifications
  • Panel Port — Default 8443 (requires restart to change)
  • Timezone — Used for log timestamps and scheduled tasks
  • Session Timeout — Auto-logout idle sessions (default: 8 hours)
  • Two-Factor Auth — Enable TOTP-based 2FA for admin login

SSL / HTTPS

By default NixPanel uses a self-signed certificate, which causes browser warnings. To get a trusted HTTPS connection, use a real domain and Let's Encrypt.

Using Let's Encrypt (recommended)

  1. Point a domain (e.g. panel.yourdomain.com) to your server's IP in your DNS settings
  2. Open Settings → SSL in NixPanel
  3. Enter your domain name and click Issue Free Certificate
  4. NixPanel will request a Let's Encrypt certificate and configure HTTPS automatically

Certificates auto-renew every 60 days. No manual action needed.

Pro License Key

After purchasing a Pro plan on the pricing page, you'll receive a license key by email.

Activating your license

  1. Open NixPanel → Settings → License
  2. Paste your license key and click Activate
  3. Your plan features will unlock immediately — no restart needed
License keys are tied to your server. If you migrate to a new IP, go to your account dashboard at nixpanel.io/account to transfer your license.

System Monitoring

The dashboard shows real-time and historical metrics for your server:

  • CPU usage — per-core and aggregate, with process breakdown
  • Memory usage — RAM and swap, with top consumers
  • Disk usage — per-partition usage and I/O rates
  • Network traffic — inbound/outbound per interface
  • Load average — 1, 5, and 15-minute averages
  • Uptime — current uptime and last reboot time

Metrics are collected every 5 seconds. Charts retain 24 hours of history.

AI Assistant Solo+

The AI Assistant is available in the sidebar and can answer questions about your server, explain log entries, diagnose problems, and suggest fixes.

Example questions you can ask

  • "Why is my CPU usage at 90%?"
  • "My website is returning 502 errors — what's wrong?"
  • "How do I set up a cron job to run every night at 2am?"
  • "What does this error in syslog mean: [paste error]"
  • "My server is running out of disk space — what's taking up space?"

The AI has full context about your server's current state (CPU, services, recent logs) so its answers are specific to your situation.

Security Center Solo+

The Security Center gives your server a real-time security score (0–100) and provides actionable recommendations to improve it.

Features

  • Security Score — overall grade based on current configuration
  • Firewall Manager — view, add, and remove firewall rules via a GUI
  • fail2ban Integration — configure fail2ban, view banned IPs, manage jails
  • SSH Hardening — disable password auth, configure allowed users, key management
  • SSL Certificate Manager — issue and manage Let's Encrypt certificates
  • Security Audit — one-click scan that checks common misconfigurations

Web Hosting Host+

The Host plan transforms NixPanel into a full web hosting control panel — a direct replacement for cPanel.

Domain management

Add domains and subdomains, configure web roots, set up redirects, and manage DNS zones all from the UI.

Email hosting

Create email accounts, set up forwarders, configure spam filtering, and access webmail via Roundcube.

Databases

Create and manage MySQL/MariaDB databases and users. phpMyAdmin is available for advanced queries.

PHP management

Install multiple PHP versions and set per-domain PHP version. Currently supports PHP 7.4, 8.0, 8.1, 8.2, and 8.3.

WordPress

One-click WordPress installation per domain. NixPanel handles the database, config file, and file permissions automatically.

Backup Manager Solo+

Schedule automatic backups of your server's data.

  • Backup to local disk, SFTP, or S3-compatible storage
  • Schedule daily, weekly, or monthly backups
  • Restore from any backup with one click
  • Compress and encrypt backups at rest

Frequently Asked Questions

Run nixpanel update from your server's terminal, or use the Settings → Updates page in the UI. NixPanel will download and apply the update in place without losing your configuration.
Go to Settings → General and change the port number. You'll need to restart NixPanel (systemctl restart nixpanel) for the change to take effect. Make sure to open the new port in your firewall.
If you're locked out, run this command on your server: nixpanel reset-password. It will print a temporary password you can use to log in and set a new one.
Yes. Set NixPanel to listen on an internal port (e.g. 3000) and proxy HTTPS traffic through Nginx or Caddy. See the GitHub wiki for detailed reverse proxy configuration examples.
Application logs are in /var/log/nixpanel/. You can also view them in real-time with journalctl -u nixpanel -f or through the NixPanel Log Viewer UI.

CLI Reference

NixPanel installs a nixpanel command-line tool for server-side management:

nixpanel status          # Show service status
nixpanel start           # Start NixPanel
nixpanel stop            # Stop NixPanel
nixpanel restart         # Restart NixPanel
nixpanel update          # Update to latest version
nixpanel reset-password  # Reset admin password
nixpanel logs            # Tail application logs
nixpanel backup          # Run a manual backup now
nixpanel version         # Show installed version

Advanced Documentation

For advanced topics including API access, custom integrations, reverse proxy setup, Docker, and more — see the full documentation on GitHub:

GitHub Repository Full Wiki →