server.ssl to true and point a domain at the server.
This guide helps you set up HTTPS for a Core instance you operate yourself. You need a basic understanding of Docker, Compose, and domain management.
Prerequisites:
- Docker 20.10.11 or later
- Compose 1.29.2 or later
- A valid domain name pointed to your server
- Blnk Core 0.15.4 or later
Before you start
Make sure that the Blnk server has been successfully deployed and is running on your machine.Deploy Blnk
Local install or Blnk Cloud.
1
Update your configuration file
Set When
server.ssl to true and provide the domain, notification email, and certificate storage path.ssl is true, Blnk starts an HTTPS listener on server.port, obtains a certificate for server.domain, and stores it in cert_storage_path. If a certificate cannot be issued, the server fails to start. It does not fall back to HTTP.See HTTPS settings for every field and default.2
Ensure your domain points to your server
Confirm that the DNS settings for your domain point to the IP address of your server.This is required for Let’s Encrypt to verify the domain and issue a certificate. If
domain is empty, Blnk defaults to localhost, which cannot receive a public certificate.3
Start your Blnk server
With your configuration file updated, start your Blnk server using Docker Compose.The process validates domain ownership, issues a certificate, and starts the HTTPS listener. Startup logs include the scheme (
https) so you can confirm TLS is on.4
Verifying your HTTPs set-up
Once your Blnk server is running, verify the HTTPS setup with You should see a successful HTTPS response. An HTTP client against the same port will fail the TLS handshake.
curl:Next steps
With HTTPS enabled, traffic to your Blnk server is encrypted. Consider the following as you continue:-
Monitor and renew certificates: Blnk automates issuance. Monitor your domain and certificates for expiry and keep
cert_storage_pathwritable so renewals can be stored. - Security best practices: Keep software up to date, manage access controls, and monitor for unauthorized access. Enable secure mode for API authentication.