docs: initial documentation — install, configuration, plans, FAQ
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
# NixPanel Documentation
|
||||
|
||||
Welcome to the NixPanel documentation. NixPanel is a modern, open-source web hosting control panel for Linux servers — a fast, reliable alternative to cPanel/WHM.
|
||||
|
||||
## Contents
|
||||
|
||||
| Guide | Description |
|
||||
|---|---|
|
||||
| [Installation](install.md) | Install NixPanel on Ubuntu 24.04 |
|
||||
| [Configuration](configuration.md) | Environment variables and post-install setup |
|
||||
| [Plans & Licensing](plans.md) | Plan limits, licensing, and IP binding |
|
||||
| [FAQ](faq.md) | Common questions and troubleshooting |
|
||||
|
||||
## Quick Install
|
||||
|
||||
```bash
|
||||
bash <(curl -fsSL https://raw.githubusercontent.com/NixReaper/nixpanel/main/install.sh)
|
||||
```
|
||||
|
||||
Requires: **Ubuntu 24.04 LTS · x86_64 · Root access**
|
||||
|
||||
## Support
|
||||
|
||||
- **Email:** support@nixpanel.io
|
||||
- **Issues:** [github.com/NixReaper/nixpanel/issues](https://github.com/NixReaper/nixpanel/issues)
|
||||
- **Website:** [nixpanel.io](https://nixpanel.io)
|
||||
@@ -0,0 +1,134 @@
|
||||
# Configuration
|
||||
|
||||
## Environment File
|
||||
|
||||
NixPanel stores its configuration at `/opt/nixpanel/.env`. This file is created automatically during installation but can be edited at any time.
|
||||
|
||||
```bash
|
||||
nano /opt/nixpanel/.env
|
||||
```
|
||||
|
||||
After editing, restart the panel:
|
||||
|
||||
```bash
|
||||
systemctl restart nixpanel
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Description | Default |
|
||||
|---|---|---|
|
||||
| `RUST_LOG` | Log level (`info`, `debug`, `warn`, `error`) | `nixpanel=info,tower_http=warn` |
|
||||
| `PORT` | Internal panel port | `4000` |
|
||||
| `JWT_SECRET` | Secret key for session tokens (auto-generated) | — |
|
||||
| `DATABASE_URL` | MariaDB connection string (auto-configured) | — |
|
||||
| `SERVER_HOST` | Hostname or IP of this server | Set during install |
|
||||
| `LICENSING_SERVER_URL` | URL of the NixPanel licensing server | `https://license.nixpanel.io` |
|
||||
| `LICENSE_KEY_PATH` | Path to the stored license key file | `/opt/nixpanel/.license_key` |
|
||||
|
||||
---
|
||||
|
||||
## Apache
|
||||
|
||||
NixPanel's panels are served via Apache reverse proxy on non-standard ports so they don't interfere with hosted websites on port 80/443.
|
||||
|
||||
| Port | Panel |
|
||||
|---|---|
|
||||
| `2087` | NixServer (admin / WHM-style) |
|
||||
| `2083` | NixClient (user / cPanel-style) |
|
||||
|
||||
Apache config: `/etc/apache2/sites-available/nixpanel.conf`
|
||||
|
||||
Reload Apache after changes:
|
||||
|
||||
```bash
|
||||
apache2ctl configtest && systemctl reload apache2
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## SSL
|
||||
|
||||
Add HTTPS to your panel ports:
|
||||
|
||||
```bash
|
||||
certbot --apache
|
||||
```
|
||||
|
||||
Or manually specify domains:
|
||||
|
||||
```bash
|
||||
certbot --apache -d panel.yourdomain.com
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## PHP Versions
|
||||
|
||||
NixPanel installs both PHP 8.2 and PHP 8.3 via the `ondrej/php` PPA. You can set the default PHP version per domain in the NixClient user panel, or globally via:
|
||||
|
||||
```bash
|
||||
update-alternatives --config php
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## MariaDB
|
||||
|
||||
Panel database credentials are stored in `/opt/nixpanel/.env`. The database is only accessible from `127.0.0.1` — it is not exposed externally.
|
||||
|
||||
To access the MariaDB console:
|
||||
|
||||
```bash
|
||||
mysql -u nixpanel -p nixpanel
|
||||
```
|
||||
|
||||
The password is in `/opt/nixpanel/.env` under `DATABASE_URL`.
|
||||
|
||||
---
|
||||
|
||||
## Logs
|
||||
|
||||
| Log | Path |
|
||||
|---|---|
|
||||
| Panel | `/var/log/nixpanel/panel.log` |
|
||||
| Panel errors | `/var/log/nixpanel/panel-error.log` |
|
||||
| Apache access | `/var/log/nixpanel/nixserver-access.log` |
|
||||
| Apache errors | `/var/log/nixpanel/nixserver-error.log` |
|
||||
|
||||
Stream logs live:
|
||||
|
||||
```bash
|
||||
journalctl -u nixpanel -f
|
||||
tail -f /var/log/nixpanel/panel.log
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Firewall
|
||||
|
||||
If you use `ufw`, allow the panel ports:
|
||||
|
||||
```bash
|
||||
ufw allow 2083/tcp # NixClient
|
||||
ufw allow 2087/tcp # NixServer
|
||||
ufw allow 80/tcp # HTTP
|
||||
ufw allow 443/tcp # HTTPS
|
||||
ufw allow 25/tcp # SMTP
|
||||
ufw allow 143/tcp # IMAP
|
||||
ufw allow 993/tcp # IMAPS
|
||||
ufw allow 110/tcp # POP3
|
||||
ufw allow 995/tcp # POP3S
|
||||
ufw allow 53 # DNS
|
||||
```
|
||||
|
||||
For production, restrict ports 2083 and 2087 to trusted IPs only:
|
||||
|
||||
```bash
|
||||
ufw allow from YOUR_IP to any port 2083
|
||||
ufw allow from YOUR_IP to any port 2087
|
||||
ufw deny 2083
|
||||
ufw deny 2087
|
||||
```
|
||||
@@ -0,0 +1,111 @@
|
||||
# FAQ
|
||||
|
||||
## Installation
|
||||
|
||||
**Q: Which operating systems are supported?**
|
||||
A: Ubuntu 24.04 LTS (x86_64) is the only supported OS at this time. Additional distributions are planned post-v1.
|
||||
|
||||
---
|
||||
|
||||
**Q: Can I install NixPanel on a server that already has software on it?**
|
||||
A: It's not recommended. NixPanel installs and configures Apache, MariaDB, PowerDNS, Exim, and Dovecot. Running it alongside existing web server software will likely cause port conflicts. Use a fresh server.
|
||||
|
||||
---
|
||||
|
||||
**Q: The installer failed partway through. What do I do?**
|
||||
A: Just re-run it. The installer tracks completed steps in `/var/lib/nixpanel/install/` and skips anything already done:
|
||||
|
||||
```bash
|
||||
sudo bash install.sh
|
||||
```
|
||||
|
||||
To force a specific step to re-run, delete its `.done` file:
|
||||
|
||||
```bash
|
||||
rm /var/lib/nixpanel/install/<step_name>.done
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Q: Do I need a license key to install?**
|
||||
A: Yes, a license key is required during install — even for the Free plan. Create a free account at [nixpanel.io](https://nixpanel.io) to get one.
|
||||
|
||||
---
|
||||
|
||||
**Q: PHP 8.2 packages weren't found during install.**
|
||||
A: This can happen on Ubuntu 24.04 if the `ondrej/php` PPA wasn't added. The latest installer handles this automatically. Make sure you're running the current version:
|
||||
|
||||
```bash
|
||||
bash <(curl -fsSL https://raw.githubusercontent.com/NixReaper/nixpanel/main/install.sh)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Licensing
|
||||
|
||||
**Q: What happens if my server can't reach license.nixpanel.io?**
|
||||
A: A 7-day grace period applies. Your panel keeps working normally. If connectivity isn't restored within 7 days, non-free features are restricted until the license is validated again.
|
||||
|
||||
---
|
||||
|
||||
**Q: Can I run NixPanel on multiple servers?**
|
||||
A: The Host plan supports 1 server; Agency supports unlimited servers. Each server needs its own IP registered to your license. Free and Solo plans are single-server only.
|
||||
|
||||
---
|
||||
|
||||
**Q: I moved to a new server. How do I update my IP?**
|
||||
A: Log in to [nixpanel.io/dashboard](https://nixpanel.io/dashboard) → License → Change Server IP.
|
||||
|
||||
---
|
||||
|
||||
## Panel
|
||||
|
||||
**Q: What ports does NixPanel use?**
|
||||
A: The admin panel (NixServer) runs on port `2087`. The user panel (NixClient) runs on port `2083`. DNS is on port `53`, SMTP on `25`, IMAP on `143`/`993`, POP3 on `110`/`995`.
|
||||
|
||||
---
|
||||
|
||||
**Q: How do I add SSL to my panels?**
|
||||
A: Run `certbot --apache` after pointing a domain at your server. Certbot will automatically configure HTTPS for both panels.
|
||||
|
||||
---
|
||||
|
||||
**Q: Can NixPanel host WordPress sites?**
|
||||
A: Yes. NixPanel uses MariaDB (fully MySQL-compatible) and installs PHP-FPM 8.2 and 8.3. WordPress one-click install is available on Solo, Host, and Agency plans.
|
||||
|
||||
---
|
||||
|
||||
**Q: How do I restart the panel after making config changes?**
|
||||
A:
|
||||
```bash
|
||||
systemctl restart nixpanel
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Q: Where are the logs?**
|
||||
A:
|
||||
```bash
|
||||
journalctl -u nixpanel -f # live panel logs
|
||||
tail -f /var/log/nixpanel/panel.log # panel log file
|
||||
tail -f /var/log/nixpanel/panel-error.log
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Billing
|
||||
|
||||
**Q: What payment methods do you accept?**
|
||||
A: All major credit and debit cards via Stripe. No PayPal at this time.
|
||||
|
||||
**Q: Can I cancel anytime?**
|
||||
A: Yes. Cancel from your dashboard. Your panel keeps working until the end of the billing period — no partial refunds.
|
||||
|
||||
**Q: Do you offer refunds?**
|
||||
A: We offer a full refund within 7 days of your first payment if NixPanel doesn't work for your use case. Contact support@nixpanel.io.
|
||||
|
||||
---
|
||||
|
||||
## Getting Help
|
||||
|
||||
Still stuck? Email **[email protected]** or open an issue at [github.com/NixReaper/nixpanel/issues](https://github.com/NixReaper/nixpanel/issues).
|
||||
+143
@@ -0,0 +1,143 @@
|
||||
# Installation
|
||||
|
||||
## Requirements
|
||||
|
||||
| Requirement | Value |
|
||||
|---|---|
|
||||
| Operating system | Ubuntu 24.04 LTS |
|
||||
| Architecture | x86_64 |
|
||||
| RAM | 2 GB minimum · 4 GB recommended |
|
||||
| Disk | 20 GB minimum |
|
||||
| Access | Root (or `sudo`) |
|
||||
| License | Free or paid — [get one at nixpanel.io](https://nixpanel.io/#pricing) |
|
||||
|
||||
> **Fresh server recommended.** NixPanel installs and configures Apache, MariaDB, PowerDNS, Exim, Dovecot, and other services. Installing on a server with existing software may cause conflicts.
|
||||
|
||||
---
|
||||
|
||||
## One-line Install
|
||||
|
||||
```bash
|
||||
bash <(curl -fsSL https://raw.githubusercontent.com/NixReaper/nixpanel/main/install.sh)
|
||||
```
|
||||
|
||||
The installer is **self-updating** — it always fetches the latest version from GitHub before running, so you never need to re-download it.
|
||||
|
||||
---
|
||||
|
||||
## Inspect Before Running
|
||||
|
||||
If you prefer to review the script first:
|
||||
|
||||
```bash
|
||||
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 | Role |
|
||||
|---|---|
|
||||
| Apache 2 + PHP-FPM 8.2 & 8.3 | Web server with multi-PHP support |
|
||||
| MariaDB | Database server (WordPress-compatible) |
|
||||
| PowerDNS | DNS server |
|
||||
| Exim 4 | Mail transfer agent |
|
||||
| Dovecot | IMAP / POP3 server |
|
||||
| SpamAssassin | Spam filtering |
|
||||
| Fail2ban | Brute-force protection |
|
||||
| Let's Encrypt (certbot) | Free SSL certificates |
|
||||
| NixPanel | Control panel (ports 2083 and 2087) |
|
||||
|
||||
---
|
||||
|
||||
## Installer Prompts
|
||||
|
||||
During installation you will be asked for:
|
||||
|
||||
- **Admin username, password, and email** — your NixPanel admin account
|
||||
- **Server hostname** — the domain or IP your panel will be accessed from (e.g. `panel.example.com`)
|
||||
- **NixPanel license key** — found in your [dashboard](https://nixpanel.io/dashboard) after signing up
|
||||
|
||||
---
|
||||
|
||||
## Ports Used
|
||||
|
||||
| Port | Service |
|
||||
|---|---|
|
||||
| `2087` | NixServer — WHM-style admin panel |
|
||||
| `2083` | NixClient — cPanel-style user panel |
|
||||
| `25` | SMTP (Exim) |
|
||||
| `143` / `993` | IMAP / IMAPS (Dovecot) |
|
||||
| `110` / `995` | POP3 / POP3S (Dovecot) |
|
||||
| `53` | DNS (PowerDNS) |
|
||||
|
||||
Make sure your firewall allows these ports for the relevant services.
|
||||
|
||||
---
|
||||
|
||||
## After Installation
|
||||
|
||||
Access your panels at:
|
||||
|
||||
```
|
||||
http://YOUR_SERVER_IP:2087 ← NixServer (admin)
|
||||
http://YOUR_SERVER_IP:2083 ← NixClient (users)
|
||||
```
|
||||
|
||||
**Add SSL immediately:**
|
||||
|
||||
```bash
|
||||
certbot --apache
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Re-running the Installer
|
||||
|
||||
The installer uses step tracking — if it fails partway through, you can safely re-run it and it will skip completed steps:
|
||||
|
||||
```bash
|
||||
sudo bash install.sh
|
||||
```
|
||||
|
||||
To force a specific step to re-run, delete its tracking file:
|
||||
|
||||
```bash
|
||||
rm /var/lib/nixpanel/install/<step_name>.done
|
||||
sudo bash install.sh
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Updating NixPanel
|
||||
|
||||
```bash
|
||||
sudo bash /opt/nixpanel/scripts/update.sh
|
||||
```
|
||||
|
||||
Or click **Upgrade Panel** in the NixServer sidebar.
|
||||
|
||||
---
|
||||
|
||||
## Useful Commands
|
||||
|
||||
```bash
|
||||
# View panel logs
|
||||
journalctl -u nixpanel -f
|
||||
|
||||
# Restart the panel
|
||||
systemctl restart nixpanel
|
||||
|
||||
# Check service status
|
||||
systemctl status nixpanel apache2 mariadb
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Need Help?
|
||||
|
||||
- **Email:** support@nixpanel.io
|
||||
- **Issues:** [github.com/NixReaper/nixpanel/issues](https://github.com/NixReaper/nixpanel/issues)
|
||||
@@ -0,0 +1,74 @@
|
||||
# Plans & Licensing
|
||||
|
||||
## Plans
|
||||
|
||||
| Plan | Monthly | Annual | Servers |
|
||||
|---|---|---|---|
|
||||
| **Free** | $0 | $0 | 1 |
|
||||
| **Solo** | $9.99 | $95.90 | 1 |
|
||||
| **Host** | $29.99 | $287.90 | 1 |
|
||||
| **Agency** | $79.99 | $767.90 | Unlimited |
|
||||
|
||||
Annual billing saves you 2 months (≈20% off).
|
||||
|
||||
---
|
||||
|
||||
## Plan Limits
|
||||
|
||||
| | Free | Solo | Host | Agency |
|
||||
|---|---|---|---|---|
|
||||
| Domains | 1 | 5 | 50 | Unlimited |
|
||||
| Hosting accounts | 1 | 5 | 50 | Unlimited |
|
||||
| Email accounts | 5 | 50 | 500 | Unlimited |
|
||||
| Databases | 2 | 10 | 100 | Unlimited |
|
||||
| Disk managed | 5 GB | 50 GB | 250 GB | Unlimited |
|
||||
| Support | Community | Email | Priority | Priority |
|
||||
| WP one-click install | ❌ | ✅ | ✅ | ✅ |
|
||||
| Reseller panel | ❌ | ❌ | ✅ | ✅ |
|
||||
| White-label | ❌ | ❌ | ❌ | ✅ |
|
||||
|
||||
---
|
||||
|
||||
## How Licensing Works
|
||||
|
||||
NixPanel uses a **central licensing server** at `license.nixpanel.io`. Your license is tied to your **server's public IP address**.
|
||||
|
||||
When you install NixPanel:
|
||||
1. You enter your license key during setup
|
||||
2. The installer activates the key against `license.nixpanel.io`
|
||||
3. The panel periodically validates the license (every 24 hours)
|
||||
4. If validation fails (e.g. network issue), a **7-day grace period** applies before the panel restricts features
|
||||
|
||||
---
|
||||
|
||||
## Changing Your Server IP
|
||||
|
||||
If you move NixPanel to a new server:
|
||||
|
||||
1. Log in to [nixpanel.io/dashboard](https://nixpanel.io/dashboard)
|
||||
2. Go to **License** → **Change Server IP**
|
||||
3. Enter the new server's public IP address
|
||||
4. The change takes effect within a few minutes
|
||||
|
||||
IP changes are limited to prevent abuse. Contact support@nixpanel.io if you need assistance.
|
||||
|
||||
---
|
||||
|
||||
## Cancelling
|
||||
|
||||
You can cancel your subscription at any time from the [billing portal](https://nixpanel.io/dashboard). Your panel will continue to work until the end of the current billing period.
|
||||
|
||||
---
|
||||
|
||||
## Upgrading or Downgrading
|
||||
|
||||
Log in to [nixpanel.io/dashboard](https://nixpanel.io/dashboard) and use the **Billing** section to switch plans. Changes take effect immediately and are prorated.
|
||||
|
||||
---
|
||||
|
||||
## Getting a License Key
|
||||
|
||||
1. Create an account at [nixpanel.io/register](https://nixpanel.io/register)
|
||||
2. Choose a plan on the [pricing page](https://nixpanel.io/pricing)
|
||||
3. Complete checkout via Stripe
|
||||
4. Your license key appears in the [dashboard](https://nixpanel.io/dashboard)
|
||||
Reference in New Issue
Block a user