1
0
mirror of https://github.com/mail-in-a-box/mailinabox.git synced 2026-03-05 15:57:23 +01:00

docker: re-run the start script on the container's first run because it won't know its hostname or IP address until then

This commit is contained in:
Joshua Tauberer
2014-05-02 14:23:56 -04:00
parent 3fdcbe542f
commit 189dd6000e
3 changed files with 31 additions and 6 deletions

View File

@@ -1,4 +1,25 @@
#!/bin/bash
# The PUBLIC_HOSTNAME and PUBLIC_IP is not known at the time the docker
# image is built. On the first run of the container, re-run the start
# script with actual values. That will also ask the user for their first
# email user account.
if grep "^PUBLIC_IP=192.168.200.1" /etc/mailinabox.conf > /dev/null; then
echo "Configuring container on first run..."
# Get the public IP address of the host machine.
export PUBLIC_IP=`curl -s icanhazip.com`
echo Your IP address is $PUBLIC_IP.
# Get the reverse DNS of that IP address.
export PUBLIC_HOSTNAME=`host $PUBLIC_IP | sed -e "s/.* //" | sed -e "s/\.$//"`
echo Your hostname is $PUBLIC_HOSTNAME.
# Start configuration again.
cd /usr/local/mailinabox
scripts/start.sh
fi
echo "Starting Mail-in-a-Box services..."
service nsd start