Install PufferPanel on Ubuntu 20.04
Introduction
PufferPanel is a free, open-source web-based game server management system that allows you to create multiple game servers. PufferPanel is mobile-ready, allowing you access to your game server from a smartphone.
Prerequisites
- Deploy a new Vultr Ubuntu 20.04 (x64) cloud server.
- Update the server according to the Ubuntu best practices guide.
Install PufferPanel
SSH to the server instance as root.
Add the installation source to your system.
# curl -s https://packagecloud.io/install/repositories/pufferpanel/pufferpanel/script.deb.sh | sudo bash
Install the PufferPanel package.
# apt-get install pufferpanel
Enable the PufferPanel service.
# systemctl enable pufferpanel
Start PufferPanel.
# systemctl start pufferpanel
Allow ports 8080 and 5657 through both the OS firewall and the Vultr firewall.
Create your administrator account. Answer Y when PufferPanel asks if this account is an administrator.
# pufferpanel user add
Access the PufferPanel WebUI at port 8080 in your web browser. Replace the example IP address with your server's address.
# https://192.0.2.123:8080
Configure PufferPanel
- Log in to the PufferPanel WebUI using your administrator credentials.
- Navigate to Templates in the left side menu.
- Click Import Templates to open the pop-up.
- Select a game server template you want to import from the drop-down options.
- Click Import Templates. Wait for the template to download.
Create a Server
- Click Servers in the left side menu.
- Click the plus button in the bottom-right of your screen.
- Enter the requested information.
- Deploy the gaming server you created.
Custom Domain with SSL (Optional)
This optional step allows you to securely access the WebUI panel over HTTPS using Nginx as a reverse proxy and a free Let's Encrypt certificate SSL certificate.
Install Nginx
# apt-get install -y nginx
Create a DNS "A" record for your server. This guide uses the example values:
- DNS Name: panel.example.com
- IP Address 192.0.2.123
Create an Nginx configuration file for PufferPanel.
# nano /etc/nginx/sites-enabled/pufferpanel.conf
Paste the following code into the file. Replace server_name with your server's name.
server { listen 80; root /var/www/pufferpanel; server_name panel.example.com; location ~ ^/\.well-known { root /var/www/html; allow all; } location / { proxy_pass http://localhost:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Nginx-Proxy true; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; client_max_body_size 100M; } }
Save and exit the file.
Restart Nginx.
# systemctl restart nginx
Install Let's Encrypt.
# apt-get install -y certbot python3-certbot-nginx
Request an SSL certificate with Certbot. Replace panel.example.com with your server's name.
# certbot --nginx -d panel.example.com
Answer the question posed by Certbot.
Navigate to PufferPanel in your web browser using the server name.
For panel customization, please visit PufferPanel Themes.