I need to run multiple server parralel and got a single powerful. I search for guys who adopted Miab for themselfs in a docker container. I know that it is a unsupported modification and i should not do it because i am in matter of compatability on my own. But i need and want to seperate my services with low ressources consumption. I tried to make it myself but the ubuntu image lacks even with the needed packages in interpreting python in runtime.(I have no clue of python programming) I hope someone of you awesome guys can help me with knowledge.
I tried a few times for learning exercise. End result - couldn’t find a workable solution so looks like standalone server is needed and a shame I cant have one server doing multiple functions which seems to be where you are headed.
When I tried Docker, it felt like a bad fit as a platform as MiaB assumes it is in control of the whole machine and wants to control Hostname, DNS and Firewalls which all require adjustments to get going. Ended up doing so many modifications to the setup script, it didn’t really felt managable and ultimately felt too much trouble and I gave up.
As an alternative, I did tried a VM which worked much better - however I couldn’t find a VPS provider that can really do nested VM and so dead end as well.
My approach for the problems hostname and Firewalls
docker run -d -p 25:25 -p 443:443 -p 80:80 -p 993:993 -p:465:465 -p 587:587 -h “mydomain.lol” -ti --ip “myadress” --ip6 “myadress” --restart=always --name=miab_test ubuntu
and the needed packages and setup commands:
apt-get update -y
apt-get upgrade -y
apt-get install wget sudo curl systemd lsb-core fail2ban nano python-pip netcat-openbsd sed bind9-host locales -y
apt-get purge vim* -y
pip install utils
curl -s https://mailinabox.email/setup.sh | sudo -E bash
but it does interpret phython strange: Can not resolve the paths of the other functions (/setup/preflight.sh does not work - solution: /root/mailinabox/setup/preflight.sh) and at least says that it can not see the ip adress even when the command line at the end of the error messages output both ip s
I got a new update at my optimisation work for docker. I checked other guys who tried the same thing and took some small different approches and added it into my current attempt.
I could resolve the finding ip address problem, by installing beside the in a another earlier post mentioned packets also dialog, net-tools and iproute2. 
I still have no idea where to find the part of the script what wants to change hostname and if the python folder resolving problem still exists. Does somebudy know what part takes care of the hostname. I will figure it out when i got the hostname override take out by myself.
Has nobudy here an idea what script is managing the hostnames?! I am not familiar with python but i could not find it myself.
The initial query/variable gets set in “questions.sh” and suggest you intercept that and do you mod just after the question. IT is from line 71 onwards.
The variable gets used various places later but “system.sh” is where it looks like it is calling hostname command to change things
Hope that answers your specific query but as mentioned, going to get more challenging with other pieces and best of luck with it!