-
Notifications
You must be signed in to change notification settings - Fork 8
/
start_server.sh
executable file
·52 lines (42 loc) · 1.64 KB
/
start_server.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/usr/bin/env bash
# Start the mailman server, and connect it with the volumes
# inside the data container.
# Abort on failure:
set -e
# Check if mailman_server_cont is running.
# If it is running, we abort.
nlines_server_run=`docker ps | grep mailman_server_cont | wc -l`
if [ "$nlines_server_run" -gt "0" ]
then echo "mailman_server_cont is already running! Aborting." && \
exit
fi
nlines_server=`docker ps -a | grep mailman_server_cont | wc -l`
if [ "$nlines_server" -gt "0" ]
then echo "Removing old mailman_server_cont. (Not running)" && \
docker rm -f mailman_server_cont
fi
# Check if mailman_data_cont exists. If it doesn't exist, we abort.
nlines_data=`docker ps -a | grep mailman_data_cont | wc -l`
if [ "$nlines_data" -eq "0" ]
then echo "Missing mailman_data_cont container! Aborting. Please run
initial_data_cont first." && \
exit
fi
# Get the environment variables from server.conf:
source server.conf
# Get the directories contents by running a new mailman_server.
# We get the volumes from the mailman_data_cont container.
# We also map the configuration file server.conf, and the assets from
# ./server_image/assets
docker run -d --name mailman_server_cont \
-p ${EXT_HTTP_PORT}:80 -p ${EXT_SMTP_PORT}:25 \
--volumes-from mailman_data_cont \
-v $(readlink -f ./server_image/assets):/raw_assets \
-v $(readlink -f ./server.conf):/raw_assets/server.conf \
mailman_server sh -c "chmod +x /raw_assets/*.sh && \
/raw_assets/conf_server.sh && \
/assets/run_server.sh && \
tail -F /var/log/mailman/*"
echo "Server serves HTTP on port $EXT_HTTP_PORT and SMTP on port $EXT_SMTP_PORT ."
# Unset abort on failure.
set +e