Skip to content

Creating SSL Certificates

Set up Let's Encrypt certificates for the panel and daemon nodes.

Install Certbot and obtain a certificate:

Terminal window
sudo apt install -y certbot
sudo certbot certonly --standalone -d panel.example.com

If Nginx is already running on port 80, stop it first or use the Nginx plugin:

Terminal window
sudo apt install -y python3-certbot-nginx
sudo certbot --nginx -d panel.example.com

After obtaining the certificate, update your Nginx config to reference:

/etc/letsencrypt/live/panel.example.com/fullchain.pem
/etc/letsencrypt/live/panel.example.com/privkey.pem

And set in .env:

APP_URL=https://panel.example.com
ASSET_URL=https://panel.example.com

If SSL is enabled for a node in the panel, skyportd needs certificate files.

On the node machine:

Terminal window
sudo apt install -y certbot
sudo certbot certonly --standalone -d node.example.com

The daemon automatically checks these default paths:

/etc/letsencrypt/live/node.example.com/fullchain.pem
/etc/letsencrypt/live/node.example.com/privkey.pem

If the files exist, skyportd uses them automatically. If not, it will prompt for custom paths during startup.

Certbot sets up automatic renewal by default. Verify with:

Terminal window
sudo certbot renew --dry-run

Make sure your renewal process can bind to port 80 (standalone) or that Nginx is configured for the challenge.