With @asynchroza we had a small discussion about this but let's make it official.
The good old nginx:
Here we need a couple of things:
nginx.conf, nginx image and certbot in the docker compose.
Nginx would act as a reverse proxy, by re-routing traffic to the different services.
Nginx would act as a web server shipping the bundled version of our website. The tricky part here is the automatic renewal of SSL certs.
How to achieve this:
Certbot has a cron job which automatically renews the certs
The certs need to reloaded in the nginx config without downtime. This could be done by creating a certbot post-hook which runs nginx -s reload, which will gracefully reload the server's config and the certs will be updated with no downtime.
Caddy
Can act as a reverse proxy and a web server. Automatically updates and take care of SSL certs, I guess again without downtime. Haven't used it, more research is needed here.
With @asynchroza we had a small discussion about this but let's make it official.
Here we need a couple of things: nginx.conf, nginx image and certbot in the docker compose.
Nginx would act as a reverse proxy, by re-routing traffic to the different services.
Nginx would act as a web server shipping the bundled version of our website. The tricky part here is the automatic renewal of SSL certs. How to achieve this:
Certbot has a cron job which automatically renews the certs
The certs need to reloaded in the nginx config without downtime. This could be done by creating a certbot post-hook which runs
nginx -s reload
, which will gracefully reload the server's config and the certs will be updated with no downtime.Caddy Can act as a reverse proxy and a web server. Automatically updates and take care of SSL certs, I guess again without downtime. Haven't used it, more research is needed here.