Unable to install mail server

Issue #547 closed
Former user created an issue

I am evaluating your mailserver starting with the free version.

The docker installation goes without any issues. However when i first try and access the mail server i get a timeout at url admin/install/server. I have looked through all the logs and cannot find any issues. I have zipped up the logs directory and attached it.

Regards Peter

Comments (16)

  1. Peter Roden

    docker run \ --net=host \ --rm \ -v /etc/localtime:/etc/localtime:ro \ -v /usr/local/data:/data \ -p 9025:25 \ --name "mailserver" \ -h "mail.flamingreal.com" \ -t analogic/poste.io

  2. Peter Roden

    Since the docker container is running with host network I took off the re-mapping of port 25. I also deleted the images and data directories and re-pulled the image. However after all this I still get the same result and am not able to bring up the admin/install/server page.

    regards Peter

  3. Scott MacDonald

    Does the container start correctly? Does it show an IP address (likely a docker LAN IP) at which to access your container?

    Are you using an IP or name by which to access your server ? Is the DNS on the computer you're attempting to access the URL setup correctly?

  4. Peter Roden

    Yes i get an ip address. I have tried with the ip address as well as the URL. My DNS looks ok. What should i be looking out for?

  5. SB

    Is port 80 in use by something else?

    NGINX error log

    2018/12/14 15:59:52 [emerg] 1198#1198: still could not bind() 2018/12/14 15:59:55 [emerg] 1225#1225: bind() to 0.0.0.0:80 failed (98: Address already in use) 2018/12/14 15:59:55 [emerg] 1225#1225: bind() to [::]:80 failed (98: Address already in use)

  6. Scott MacDonald

    If the container is starting correctly, you should see a green bar indicating the container is accessible.

  7. Peter Roden

    Thanks Scott and others for all your comments. After looking further into this, As a general rule I do not want to bind to the actual ports of the machine and would prefer to use port mapping across all docker services. Is there a docker-compose example that already handles letsencrypt running on a server service that has port 80 mapped to another port say 8080? Looking forward to getting this to work and evaluating your offering.

  8. Scott MacDonald

    So the original config for poste.io mailserver was to specify each port mapping on the docker run command.

    -p 80:80 -p 443:443 -p 25:25

    And so on for each of the required ports.

    You would need to use this method and not the more recent switch to --net=host.

    That way you can redirect the applicable ports on the host side to the expected ports on the container side.

    Follow?

  9. Peter Roden

    Thanks Scott So, if i map port 80 to another port is there anything else i would need to do to get the letsencrypt to work?

  10. Peter Roden

    Reading the network schemes page https://poste.io/doc/network-schemes , suggests that by not using --net=host there are issues:

    network=bridge (dockerd userland-proxy=false) IPv6 will not work at all by default ⚠ host's firewall will require adjusting if you want use iptables ⚠ Let's encrypt certificates requires "/.well-known" folder properly redirected to poste container

    network=bridge (dockerd userland-proxy=true) ⚠ Impossible to set up properly ⚠ Prone to open relay ⚠ Multiple SPAM meassures will not work

  11. Scott MacDonald

    I'd suggest mapping host 8080 and 8443 to container 80 and 443.

    This wouldn't conflict with your Let's Encrypt services running on the same host. However, you'll need to use your own TLS/SSL cert for Poste.io as it likely won't work using LE built into Poste.io.

  12. SH repo owner

    @rodenp I've updated network scheme page

    network=bridge (dockerd userland-proxy=false) mode is very much ok. In fact I have few places where we don't need ipv6 and then it's perfect choice...

  13. Log in to comment