Changeset View
Changeset View
Standalone View
Standalone View
docker/kolab/utils/03-setup-kolab.sh
#!/bin/bash | #!/bin/bash | ||||
. ./settings.sh | . ./settings.sh | ||||
if [ -f /root/kolab.conf.template ]; then | |||||
eval "echo \"$(cat /root/kolab.conf.template)\"" > /root/kolab.conf.ref | |||||
KOLAB_CONFIG_REF="--config=/root/kolab.conf.ref" | |||||
cp -f ${KOLAB_CONFIG_REF#--config=} /etc/kolab/kolab.conf | |||||
fi | |||||
CMD="$(which setup-kolab) \ | |||||
--default ${LDAP_HOST+--without-ldap} ${KOLAB_CONFIG_REF} \ | |||||
--fqdn=kolab.${domain} \ | |||||
--timezone=Europe/Zurich \ | |||||
--mysqlhost=${DB_HOST:-127.0.0.1} \ | |||||
--mysqlserver=existing \ | |||||
--mysqlrootpw=${DB_ROOT_PASSWORD:-Welcome2KolabSystems} \ | |||||
--directory-manager-pwd=${LDAP_ADMIN_BIND_PW:-Welcome2KolabSystems}" | |||||
echo ${CMD} | tee -a /root/setup-kolab.log | echo ${CMD} | tee -a /root/setup-kolab.log | ||||
echo -n "Wait for MariaDB container: " | tee -a /root/setup-kolab.log | echo -n "Wait for MariaDB container: " | tee -a /root/setup-kolab.log | ||||
while ! mysqladmin -u root ping > /dev/null 2>&1 ; do | while ! mysqladmin -u root ping > /dev/null 2>&1 ; do | ||||
echo -n '.' | echo -n '.' | ||||
sleep 3 | sleep 3 | ||||
done | tee -a /root/setup-kolab.log | done | tee -a /root/setup-kolab.log | ||||
echo "OK!" | tee -a /root/setup-kolab.log | echo "OK!" | tee -a /root/setup-kolab.log | ||||
if [ ! -z "${LDAP_HOST}" ]; then | |||||
echo -n "Wait for DS389 container: " | tee -a /root/setup-kolab.log | echo -n "Wait for DS389 container: " | tee -a /root/setup-kolab.log | ||||
while ! ldapsearch -h ${LDAP_HOST} -D "${LDAP_ADMIN_BIND_DN}" -w "${LDAP_ADMIN_BIND_PW}" -b "" -s base > /dev/null 2>&1 ; do | while ! ldapsearch -h ${LDAP_HOST} -D "${LDAP_ADMIN_BIND_DN}" -w "${LDAP_ADMIN_BIND_PW}" -b "" -s base > /dev/null 2>&1 ; do | ||||
echo -n '.' | echo -n '.' | ||||
sleep 3 | sleep 3 | ||||
done | tee -a /root/setup-kolab.log | done | tee -a /root/setup-kolab.log | ||||
echo "OK!" | tee -a /root/setup-kolab.log | echo "OK!" | tee -a /root/setup-kolab.log | ||||
cat > /tmp/kolab-setup-my.cnf << EOF | |||||
[client] | |||||
host=${DB_HOST} | |||||
user=root | |||||
password=${DB_ROOT_PASSWORD} | |||||
EOF | |||||
CMD="$(which setup-kolab) mta \ | |||||
--default" | |||||
${CMD} 2>&1 | tee -a /root/setup-kolab.log | |||||
CMD="$(which setup-kolab) php \ | |||||
--default \ | |||||
--timezone=Europe/Zurich" | |||||
${CMD} 2>&1 | tee -a /root/setup-kolab.log | |||||
# setup imap | |||||
if [ -f "/var/lib/imap/db" ]; then | |||||
echo "IMAP directory exists, nothing to do" | |||||
else | |||||
echo "Initializing IMAP volume" | |||||
cp -ar /var/lib/imap-bak/* /var/lib/imap/ | |||||
systemctl start cyrus-imapd | |||||
fi | fi | ||||
systemctl stop saslauthd | |||||
systemctl start kolab-saslauthd | |||||
systemctl enable kolab-saslauthd | |||||
#Setup guam | |||||
systemctl start guam | |||||
systemctl enable guam | |||||
#TODO just add /etc/kolab-freebusy/ | |||||
# CMD="$(which setup-kolab) freebusy \ | |||||
# --default" | |||||
# ${CMD} 2>&1 | tee -a /root/setup-kolab.log | |||||
cat > /tmp/kolab-setup-my.cnf << EOF | |||||
[client] | |||||
host=${DB_HOST} | |||||
user=root | |||||
password=${DB_ROOT_PASSWORD} | |||||
EOF | |||||
# Configure roundcube and setup db | |||||
# The db setup will just fail if the db already exists, | |||||
# but no harm done | |||||
CMD="$(which setup-kolab) roundcube \ | |||||
--default" | |||||
${CMD} 2>&1 | tee -a /root/setup-kolab.log | |||||
cat > /tmp/kolab-setup-my.cnf << EOF | |||||
[client] | |||||
host=${DB_HOST} | |||||
user=root | |||||
password=${DB_ROOT_PASSWORD} | |||||
EOF | |||||
CMD="$(which setup-kolab) syncroton \ | |||||
--default" | |||||
${CMD} 2>&1 | tee -a /root/setup-kolab.log | ${CMD} 2>&1 | tee -a /root/setup-kolab.log | ||||