Add HTTPS to any Docker-based web app by adding a few lines to your docker-compose.yml, no manual certificate setup needed.
Put multiple websites behind a single HTTPS-PORTAL instance, each pointing to a different backend service.
Redirect www to non-www (or vice versa) without changing your application code at all.
Password-protect or IP-restrict any web service without modifying the service itself.
Use Let's Encrypt staging mode during testing to avoid rate limits on real certificate issuance.
HTTPS-PORTAL is a Docker container that automatically handles the setup of HTTPS for any website or web application. HTTPS is the secure version of the standard web protocol, and setting it up normally requires obtaining an SSL certificate, configuring a web server, and renewing the certificate before it expires. HTTPS-PORTAL does all of this automatically by connecting to a free certificate service called Let's Encrypt and running the Nginx web server internally. The idea is that instead of configuring HTTPS yourself, you add HTTPS-PORTAL as one container in a Docker Compose file and tell it which domain names to handle. It then sits in front of your application, accepts incoming web traffic on the standard HTTP and HTTPS ports, fetches the certificate, renews it when needed, and forwards requests to your actual application. The whole setup can be added with a few lines of configuration next to your existing app definition. Beyond the basic case, the tool supports several common scenarios. You can redirect one domain to another, for example sending all traffic from the www version of a site to the non-www version. You can put multiple domains behind a single HTTPS-PORTAL instance, each pointing to a different backend service. It also supports serving static files directly, adding password protection to a site, restricting access by IP address, and working with apps that are not running in Docker at all. For testing before going live, there is a local mode that creates a self-signed certificate so you can verify your setup without involving Let's Encrypt. The README recommends using staging mode during testing because Let's Encrypt enforces rate limits on how many real certificates can be issued per domain in a short period. Configuration is done entirely through environment variables in the Docker Compose file, and the Nginx configuration templates can be overridden if the defaults do not fit your needs. There is a note in the README warning against the automatic container discovery feature, which requires giving the container access to the Docker socket, because doing so grants it elevated privileges on the host system.
← steveltn on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.