Unable to install mail server
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)
-
repo owner -
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
-
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
-
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?
-
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?
-
Could it be that i do not have a PTR record?
-
Is there a way to test the actual web server is working correctly?
-
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)
-
If the container is starting correctly, you should see a green bar indicating the container is accessible.
-
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.
-
See here - https://poste.io/doc/network-schemes and https://poste.io/doc/getting-started and https://poste.io/doc/updating
The port configuration on deployment for the "updating" link can be used for a new install without the first 2 steps.
-
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?
-
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?
-
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
-
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.
-
repo owner - changed status to closed
@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... - Log in to comment
Thanks for logs. How are you starting container?