UTMStack v11 requires HTTPS for all web interface access. Proper SSL certificate configuration is essential for production deployments.
Certificate Requirements
Supported Certificate Types
- Self-signed certificates (development/testing only)
- Commercial certificates from trusted CAs
- Let’s Encrypt certificates (recommended, free)
- Enterprise PKI certificates
File Requirements
You need two files:- Certificate file:
.crtor.pemextension - Private key file:
.keyor.pemextension
Method 1: Manual SSL Certificate Installation
Use this method if you already have a certificate from a Certificate Authority.Step 1: Prepare Certificate Files
After obtaining your certificate:- Rename the certificate file to
utm.crt - Rename the private key file to
utm.key
Step 2: Transfer Files to Server
Copy both files to the UTMStack certificate directory:Step 3: Restart Services
Restart Docker services to apply the new certificate:Allow approximately 10 minutes for all services to restart completely.
Step 4: Verify Installation
Your SSL certificate is now installed! Access UTMStack at
https://your-domain.comMethod 2: Generate SSL with Let’s Encrypt (Certbot)
Let’s Encrypt provides free, automated SSL certificates. This is the recommended method for most deployments.Prerequisites
- A registered domain name
- Domain pointing to your UTMStack server’s public IP
- Port 80 accessible from the internet (temporarily)
Step 1: Install Certbot
Step 2: Prepare Services
Stop the frontend service to allow Certbot to use port 80:This temporary Nginx instance is only used for certificate generation.
Step 3: Generate Certificate
Replacesiem.yourdomain.com with your actual domain:
- Enter your email address
- Agree to Terms of Service
- Choose whether to share your email
- Certbot will automatically generate and configure your certificate
Step 4: Install Certificate in UTMStack
Step 5: Restart UTMStack Services
Your Let’s Encrypt SSL certificate is now active!
Certificate Renewal
Let’s Encrypt certificates expire after 90 days. Here’s how to renew them.Automatic Renewal (Recommended)
Certbot includes automatic renewal. Verify it’s configured:Manual Renewal
If you need to renew manually:Step 1: Stop Frontend Service
Step 2: Renew Certificate
Step 3: Update UTMStack Certificates
Replacesiem.yourdomain.com with your domain:
Step 4: Restart Services
Certificate Renewal Automation Script
Create an automated renewal script:Alternative: Certbot with DNS Challenge
For environments where port 80 is not accessible:DNS plugins are available for many providers: Route53, Google Cloud DNS, Azure DNS, etc.
Troubleshooting
Certificate not recognized by browser
Certificate not recognized by browser
Possible causes:
- Incorrect certificate chain
- Self-signed certificate without import
- Ensure you’re using the fullchain.pem (includes intermediate certificates)
- For self-signed: Import CA certificate to browser
Certbot fails with 'Port 80 already in use'
Certbot fails with 'Port 80 already in use'
Solution:
Certificate shows as expired
Certificate shows as expired
Solution:
- Renew the certificate using the renewal process above
- Check system date/time is correct
- Verify certificate files are updated
Services won't restart after certificate update
Services won't restart after certificate update
Solution:
Certificate Monitoring
Monitor your certificate expiration:Security Best Practices
Use Strong Keys
- Minimum 2048-bit RSA keys
- 4096-bit recommended for high security
- Consider ECDSA for better performance
Protect Private Keys
- Never share or expose private keys
- Set proper file permissions (600)
- Back up securely
Monitor Expiration
- Set up expiration alerts
- Renew 30 days before expiration
- Test renewal process regularly
Use Automation
- Enable Certbot auto-renewal
- Use scripts for updates
- Monitor renewal logs
Wildcard Certificates
For multiple subdomains:Support
If you encounter issues during certificate installation or renewal, contact UTMStack support or consult the community forums.