Accessing PufferPanel
Open your browser and visit: https://<SERVER_IP>
A browser SSL warning is expected (self-signed certificate).
Run the following command on the server to create your first user. Be sure to enter “Y” when it asks if this is an admin so you can fully use your panel.
pufferpanel user add
Log in with your admin account.
Navigate to Settings and configure:
- Master URL (e.g.,
https://<SERVER_IP>) - Control user registration
- Email setup (optional)
Ports
- Web UI: 8080
- SFTP: 5657
Important Files & Directories
- Panel configuration:
/etc/pufferpanel/config.json - Panel logs:
/var/log/pufferpanel - Web root (nginx):
/var/www/pufferpanel - SSL Certificates:
/etc/nginx/ssl/pufferpanel.crt&/etc/nginx/ssl/pufferpanel.key
Service Management
PufferPanel:
systemctl start pufferpanel
systemctl stop pufferpanel
systemctl restart pufferpanel
systemctl status pufferpanel
Nginx:
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
systemctl reload nginx
systemctl status nginx
Enabling SSL with a Domain
1. Point your domain to the server IP.
2. Edit Nginx config and replace both server_name <IP>; with your domain (<your-domain>) for both HTTP (port 80) and HTTPS (port 443) blocks:
vim /etc/nginx/sites-available/pufferpanel.conf
3. Install Certbot:
apt install -y certbot python3-certbot-nginx
4. Run the following command to generate a valid Let’s Encrypt certificate:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
5. Replace SSL paths in Nginx config:
vim /etc/nginx/sites-available/pufferpanel.conf
# Before:
# ssl_certificate /etc/nginx/ssl/pufferpanel.crt;
# ssl_certificate_key /etc/nginx/ssl/pufferpanel.key;
# After:
# ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
6. Restart Nginx to apply the changes:
systemctl restart nginx
7. Set Master URL in web UI Settings to https://yourdomain.com
8. Open your browser and visit: https://yourdomain.com
Notes
- Nginx is configured to redirect HTTP → HTTPS automatically.
- SSL is self-signed. For production, consider using Let’s Encrypt / Certbot.
- Docker is installed and the
pufferpaneluser is added to the Docker group.