TLS/SSL Certs for Docker-based Lemmy deployment - eviltoast

I was hoping to get some help from you all, since I assume there are a good number of people here selfhosting their own instance of Lemmy. There doesn’t appear to be a search bar for per community searching, so I thought I’d post my question in case anyone else has a similar one. I’ve created my own Lemmy instance running in Docker based on the dev’s provided documentation. Used their example docker-compose.yml file and others, and just customized the needed options. I’ve got everything working except one important part, TLS/SSL certs. I’m not familiar with nginx at all, but it seems like I simply need to map another volume from local:container for the cert, however when I’ve mapped certbot/conf/:/etc/nginx/ssl/ and restart all the containers, this doesn’t enable HTTPS.

I’ve read a couple different places online that talk about adding CertBot as a service etc, however none of these were specially for Lemmy. So I wasn’t sure this would work given the extra config file for nginx. Any advice on how you all got this to work would be appreciated! Thank you in advance :)

Edit: thanks for all the advice everyone! Sounds like I’ll be going the reverse proxy route, either with caddy or npm. Both seem simple enough to implement. Thanks again, and happy Friday!

  • Dandroid@dandroid.app
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    it seems like I simply need to map another volume from local:container for the cert, however when I’ve mapped certbot/conf/:/etc/nginx/ssl/ and restart all the containers, this doesn’t enable HTTPS.

    I originally did it this way. You need to modify your nginx config to enable SSL and use the certs.

    Eventually I decided that I wanted to host more than one web page, so I ended up going with the reverse proxy approach. With that approach, your docker containers are only using http with no encryption, and your reverse proxy is adding the SSL/TLS to it and making it HTTPS. This made it much easier to manage the certificates, imo.