I tried for several days to host lemmy 0.17.4 using the docker install instructions, but I was less than successful. The instructions seemed to be riddled with mistakes and and the docker-compose.yml file had some errors. I eventually mostly got it up and running, but I could never access the site through the nginx container. I had to add the lemmy-ui to the external network and expose 80 and 443, and then I could access the UI. But it seemed that the UI was unable to communicate with the DB. And I had to comment out all of the loggers in docker-compose.yml, because I they were giving me errors.

Anyway, I thought I would give it another shot now that 0.18 has been released and the instructions have been updated. It seems to be much better! I was able to almost get it up and running on my first try. However, there is one error. The nginx container failed to start. There is a file it is trying to mount, but the file doesn’t exist. And the instructions don’t seem to say anything about creating that file or where to download it.

Any help would be much appreciated!

The instructions I am following: https://join-lemmy.org/docs/administration/install_docker.html

The error:

Creating lemmy_proxy_1    ... error

ERROR: for lemmy_proxy_1  Cannot start service proxy: crun: mount `<path>/lemmy/nginx_internal.conf` to `etc/nginx/nginx.conf`: Not a directory: OCI runtime error

ERROR: for proxy  Cannot start service proxy: crun: mount `<path>/lemmy/nginx_internal.conf` to `etc/nginx/nginx.conf`: Not a directory: OCI runtime error
ERROR: Encountered errors while bringing up the project.

Edit

I ended up finding the file in the lemmy-ansible github project here: https://raw.githubusercontent.com/LemmyNet/lemmy-ansible/main/templates/nginx_internal.conf

It all comes up now, and I can access it from outside the server. Though, it is http only, even though I have https set to true in docker-compose.yml. And when I try to do the admin sign up, I get the error: SyntaxError: Unexpected token 'O', "Origin is "... is not valid JSON

Edit 2

It’s all working now. I’m not sure exactly what I did. I set up my https cert by modifying the nginx_internal.conf and adding ssl details, and now it all works. 🤷

Thanks for the replies!

  • tkohhh@waveform.social
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    Do you mind sharing what exactly you changed in order to get it to work? I got nginx_internal.conf installed, but did not make any changes to it. I’m not able to get the UI using http://<ipaddress>:1236

    I’m not a complete newb when it comes to nginx, but I’m having a hard time understand what all the different parts are here. For instance, what is the lemmy-ui container for? Is that what needs to be exposed for me to access the UI?

    Any help you can provide is greatly appreciated!

    • tkohhh@waveform.social
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      I got it going… the main problem was that the ports for the proxy container were defined in a confusing way. Rather, the port definition should be symmetrical (e.g. 1236:1236) and not conflated with the lemmy server port (8536). Then, the nginx_internal.conf should be set to listen on 1236 only.