Nexterm includes a built-in HTTPS server. When it finds SSL certificate files in theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/gnmyt/Nexterm/llms.txt
Use this file to discover all available pages before exploring further.
data/certs directory at startup, it automatically starts a second HTTPS listener alongside the regular HTTP server — no additional configuration is required.
How it works
Nexterm checks for two files at startup:data/certs/cert.pem— your SSL certificate (or certificate chain)data/certs/key.pem— the corresponding private key
HTTP and HTTPS run simultaneously. The HTTP server does not automatically redirect to HTTPS. If you want to enforce HTTPS-only access, either block the HTTP port at your firewall or handle the redirect in a reverse proxy.
Ports
| Protocol | Default port | Environment variable |
|---|---|---|
| HTTP | 6989 | SERVER_PORT |
| HTTPS | 5878 | HTTPS_PORT |
Docker setup
To mount your certificates into the container, add a volume mapping and expose the HTTPS port in yourdocker-compose.yml:
cert.pem and key.pem files in a certs/ directory next to your docker-compose.yml before starting the container. The volume mount maps that directory to /app/data/certs inside the container, which is where Nexterm looks for certificates.
Obtaining certificates
- Let's Encrypt (Certbot)
- Self-signed (testing only)
Let’s Encrypt provides free, trusted certificates valid for 90 days. Use Certbot to obtain and manage them.
Obtain a certificate
Run Certbot in standalone mode. Your server must be reachable on port 80 from the internet for the HTTP challenge:
Copy the certificate files
Certbot writes the files to
/etc/letsencrypt/live/yourdomain.com/. Copy them into Nexterm’s certificate directory:Let’s Encrypt certificates expire after 90 days. Set up automatic renewal with
certbot renew via a cron job or systemd timer, and restart Nexterm after each renewal.Verifying HTTPS is active
After restarting Nexterm with certificates in place, check the container logs for a line confirming the HTTPS server started:https://your-server:5878 in your browser.