NGINX-LE - Nginx web and proxy with automatic let's encrypt
Simple nginx image (alpine based) with integrated Let's Encrypt support.
How to use
-
get docker-compose.yml and change things
- set
LETSENCRYPT=true
if you want automatic certificate install and renewal LE_EMAIL
should be your email andLE_FQDN
for domain- for multiple FQDNs you can pass comma-separated list, like
-LE_FQDN=aaa.example.com,bbb.example.com
- alternatively set
LETSENCRYPT
tofalse
and pass your own cert and key inSSL_CERT
andSSL_KEY
- set
-
use provided
etc/service-example.conf
to make your own. Keep bothssl_certificate SSL_CERT;
andssl_certificate_key SSL_KEY;
-
pull image -
docker-compose pull
-
if you don't want pre-built image, make you own.
docker-compose build
will do it -
start it
docker-compose up
Some implementation details
- image uses alpine's
certbot
package. script/entrypoint.sh
requests LE certificate and will refresh every 60 days.script/le.sh
gets SSL- nginx-le on docker-hub
Alternatives
- Træfik HTTP reverse proxy and load balancer. Supports Let's Encrypt directly.
- Caddy supports Let's Encrypt directly.
- leproxy small and nice (stand alone) https reverse proxy with automatic Letsencrypt
- bunch of others