▪█─────█▪

  • 0 Posts
  • 13 Comments
Joined 1 year ago
cake
Cake day: June 19th, 2023

help-circle







  • You’re welcome! Docker/Docker Compose are a great tools once your wrap your brain around them and why containers are ephemeral, etc. Docker’s docs could really use improvement though, you never know if what you’re looking for is in the section that’s dedicated to to that feature, or if the only mention of it is buried deep in the 10th sentence of the 20th paragraph on a completely different page that has absolutely nothing to do with what you’re looking for.


  • Docker at this depth is a bit new to me. Curious. Why does it need to be bound to the lemmyinternal and lemmyexternalproxy nets, and not just internal?

    Because the “lemmyinternal” network is set as an internal type network in the Docker compose file, which is exactly what it sounds like: internal-only. Postfix wouldn’t have a way to egress to the WAN if not connected to the “lemmyexternal” network, so the initial connection step to send the mail from the “lemmy” container would work, but postfix sending it would fail, as it doesn’t have a route out to the Internet.


  • It’s because the postfix docker container is not connected to a docker network that has access to the “lemmy” or “lemmy-ui” container, it’s being connected to the “default” docker network. I submitted a pull request for it here that should fix it.

    To make it work in the meantime:

    1. cd into the Lemmy install directory and run docker compose down

    2. Edit docker-compose.yml in the same directory, and in the postfix section, put this just below the postfix: line:

       networks:
         - lemmyinternal
         - lemmyexternalproxy
      
    3. Run docker compose up -d

    The indentation of that code is very important. Your postfix section should look like this when it’s done:

    postfix indentation

    That should connect the “postfix” container in to a docker network that can communicate with the “lemmy” and “lemmy” UI containers. There’s another bug in the default config that doesn’t assign a hostname to all the containers, but it doesn’t always manifest all the time. You can fix that by making sure each service has a hostname assigned to it, like hostname: lemmy, hostname: lemmy-ui, hostname: postfix etc in the respective service’s section of the service: section of the docker compose file.