Hi, does anybody have an idea what the reason could be? I installed a lemmy instance on a VPS using the docker images. Beforehand I installed nginx and got a letsencrypt - certificate (which seems to have worked). I downloaded the nginx.conf file from github and made the configurations, also in the lemmy.config and docker-compose.yml files. However, I’m unsure if there’s anything else I should look at. Any tips are welcome :)
Hi there!
TL;DR: probably have an nginx misconfiguration. Check the nginx logs for errors.
You don’t need to install and run nginx on the host. It has its own container in the docker-compose.yml which gets started up on
docker-compose up -d
If both instances of nginx are trying to bind to the same port, one will start and one will fail.
Is the lemmy proxy nginx docker container running? Check with:
docker ps
ordocker container ls
. If the lemmy nginx proxy container isn’t running, try stopping the host instance of nginx (systemctl nginx stop) and restart docker lemmy (docker-compose down
,docker-compose up -d
), the try to access your site again.As @slashzero@hakbox.social said, if you’re using an additional nginx server, your docker nginx can’t listen for port 80 or 443. Here’s my host nginx reverse proxy’s ssl section for reference:
server { server_name kek.henlo.fi; location / { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; include proxy_params; proxy_pass http://localhost:9001; } listen 443 ssl http2; listen [::]:443 ssl http2; ssl_certificate /etc/letsencrypt/live/kek.henlo.fi/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/kek.henlo.fi/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot }
Maybe you’re missing some proxy headers, or the docker compose isn’t forwarding the correct ports.
But it can definitely be something completely different.
I’m pretty sure that error indicates nginx isn’t receiving a response from the upstream server (Lemmy and Lemmy-UI). So, either your upstream server isn’t responding to requests or nginx is misconfigured with the wrong upstream server 🤔