1
0
mirror of https://github.com/zokradonh/kopano-docker synced 2025-06-07 16:06:14 +00:00

Hardcoded server names (#298)

* use variables to check if the server is running
* use kopano_con to address the specified kopano socket in an unified way
* set default value for kopano_con
This commit is contained in:
Felix Bartels 2019-11-28 13:05:54 +01:00 committed by GitHub
parent 20bbbd2085
commit 7eab9c7c06
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,12 +1,19 @@
#!/bin/bash
set -eu # unset variables are errors & non-zero return values exit the whole script
[ "$DEBUG" ] && set -x
ADDITIONAL_KOPANO_PACKAGES=${ADDITIONAL_KOPANO_PACKAGES:-""}
KCCONF_SERVER_MYSQL_SOCKET=${KCCONF_SERVER_MYSQL_SOCKET:-""}
DISABLE_CHECKS=${DISABLE_CHECKS:-false}
DISABLE_CONFIG_CHANGES=${DISABLE_CONFIG_CHANGES:-false}
set -eu # unset variables are errors & non-zero return values exit the whole script
[ "$DEBUG" ] && set -x
KCCONF_DAGENT_SERVER_SOCKET=${KCCONF_DAGENT_SERVER_SOCKET:-"file:///var/run/kopano/server.sock"}
KCCONF_GATEWAY_SERVER_SOCKET=${KCCONF_GATEWAY_SERVER_SOCKET:-"tcp://kopano_server:236"}
KCCONF_ICAL_SERVER_SOCKET=${KCCONF_ICAL_SERVER_SOCKET:-"tcp://kopano_server:236"}
KCCONF_MONITOR_SERVER_SOCKET=${KCCONF_MONITOR_SERVER_SOCKET:-"file:///var/run/kopano/server.sock"}
KCCONF_SEARCH_SERVER_SOCKET=${KCCONF_SEARCH_SERVER_SOCKET:-"file:///var/run/kopano/server.sock"}
KCCONF_SPOOLER_SERVER_SOCKET=${KCCONF_SPOOLER_SERVER_SOCKET:-"file:///var/run/kopano/server.sock"}
KOPANO_CON=${KOPANO_CON:-"file:///var/run/kopano/server.sock"}
if [ ! -e /kopano/"$SERVICE_TO_START".py ]; then
echo "Invalid service specified: $SERVICE_TO_START" | ts
@ -50,6 +57,32 @@ if [[ "$DISABLE_CHECKS" == false ]]; then
-wait file:///etc/machine-id \
-wait file:///var/lib/dbus/machine-id
fi
# put specified socket into KOPANO_CON variable to ease checks further down
case "$SERVICE_TO_START" in
dagent)
KOPANO_CON="$KCCONF_DAGENT_SERVER_SOCKET"
;;
gateway)
KOPANO_CON="$KCCONF_GATEWAY_SERVER_SOCKET"
;;
ical)
KOPANO_CON="$KCCONF_ICAL_SERVER_SOCKET"
;;
monitor)
KOPANO_CON="$KCCONF_MONITOR_SERVER_SOCKET"
;;
search)
KOPANO_CON="$KCCONF_SEARCH_SERVER_SOCKET"
;;
spooler)
KOPANO_CON="$KCCONF_SPOOLER_SERVER_SOCKET"
;;
esac
if [[ "$KOPANO_CON" =~ ^http.* ]]; then
KOPANO_CON=$(sed 's/.*\/\//tcp:\/\//' <<< "$KOPANO_CON")
fi
# start regular service
case "$SERVICE_TO_START" in
server)
@ -77,17 +110,18 @@ server)
sed -i -e 's/# de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/' /etc/locale.gen
dpkg-reconfigure --frontend=noninteractive locales
if [[ "$DISABLE_CHECKS" == false ]]; then
# determine db connection mode (unix vs. network socket)
if [ -n "$KCCONF_SERVER_MYSQL_SOCKET" ]; then
DB_CONN="file://$KCCONF_SERVER_MYSQL_SOCKET"
DB_CON="file://$KCCONF_SERVER_MYSQL_SOCKET"
else
DB_CONN="tcp://$KCCONF_SERVER_MYSQL_HOST:$KCCONF_SERVER_MYSQL_PORT"
DB_CON="tcp://$KCCONF_SERVER_MYSQL_HOST:$KCCONF_SERVER_MYSQL_PORT"
fi
if [[ "$DISABLE_CHECKS" == false ]]; then
dockerize \
-wait file://"$KCCONF_SERVER_SERVER_SSL_CA_FILE" \
-wait file://"$KCCONF_SERVER_SERVER_SSL_KEY_FILE" \
-wait "$DB_CONN" \
-wait "$DB_CON" \
-timeout 360s
fi
# pre populate database
@ -101,7 +135,7 @@ server)
;;
dagent)
dockerize \
-wait file:///var/run/kopano/server.sock \
-wait "$KOPANO_CON" \
-timeout 360s
# cleaning up env variables
unset "${!KCCONF_@}"
@ -109,7 +143,7 @@ dagent)
;;
gateway)
dockerize \
-wait tcp://kopano_server:236 \
-wait "$KOPANO_CON" \
-timeout 360s
# cleaning up env variables
unset "${!KCCONF_@}"
@ -117,7 +151,7 @@ gateway)
;;
ical)
dockerize \
-wait tcp://kopano_server:236 \
-wait "$KOPANO_CON" \
-timeout 360s
# cleaning up env variables
unset "${!KCCONF_@}"
@ -177,7 +211,7 @@ kapi)
;;
monitor)
dockerize \
-wait file:///var/run/kopano/server.sock \
-wait "$KOPANO_CON" \
-timeout 360s
# cleaning up env variables
unset "${!KCCONF_@}"
@ -185,7 +219,7 @@ monitor)
;;
search)
dockerize \
-wait file:///var/run/kopano/server.sock \
-wait "$KOPANO_CON" \
-timeout 360s
# give kopano-server a moment to settler before starting search
sleep 5
@ -201,7 +235,7 @@ search)
;;
spooler)
dockerize \
-wait file:///var/run/kopano/server.sock \
-wait "$KOPANO_CON" \
-wait tcp://"$KCCONF_SPOOLER_SMTP_SERVER":25 \
-timeout 1080s
# cleaning up env variables