Browse Source

[SOGo, Config, Update] Add SOGO_EXPIRE_SESSION to define default session timeout

andryyy 6 years ago
parent
commit
5e7466ac7f
4 changed files with 16 additions and 3 deletions
  1. 0 3
      data/Dockerfiles/sogo/Dockerfile
  2. 6 0
      data/Dockerfiles/sogo/bootstrap-sogo.sh
  3. 3 0
      generate_config.sh
  4. 7 0
      update.sh

+ 0 - 3
data/Dockerfiles/sogo/Dockerfile

@@ -36,9 +36,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
     sogo-activesync \
   && apt-get autoclean \
   && rm -rf /var/lib/apt/lists/* \
-  && echo '* * * * *   sogo   /usr/sbin/sogo-ealarms-notify -p /etc/sogo/sieve.creds 2>/dev/null' > /etc/cron.d/sogo \
-  && echo '* * * * *   sogo   /usr/sbin/sogo-tool expire-sessions 60' >> /etc/cron.d/sogo \
-  && echo '0 0 * * *   sogo   /usr/sbin/sogo-tool update-autoreply -p /etc/sogo/sieve.creds' >> /etc/cron.d/sogo \
   && touch /etc/default/locale
 
 COPY ./bootstrap-sogo.sh /bootstrap-sogo.sh

+ 6 - 0
data/Dockerfiles/sogo/bootstrap-sogo.sh

@@ -200,4 +200,10 @@ fi
 echo "Syncing web content with named volume"
 rsync -a /usr/lib/GNUstep/SOGo/. /sogo_web/
 
+# Creating cronjobs
+echo "* * * * *   sogo   /usr/sbin/sogo-ealarms-notify -p /etc/sogo/sieve.creds 2>/dev/null" > /etc/cron.d/sogo
+echo "* * * * *   sogo   /usr/sbin/sogo-tool expire-sessions ${SOGO_EXPIRE_SESSION}" >> /etc/cron.d/sogo
+echo "0 0 * * *   sogo   /usr/sbin/sogo-tool update-autoreply -p /etc/sogo/sieve.creds" >> /etc/cron.d/sogo
+
+
 exec gosu sogo /usr/sbin/sogod

+ 3 - 0
generate_config.sh

@@ -250,6 +250,9 @@ IPV6_NETWORK=fd4d:6169:6c63:6f77::/64
 # mail_home is ~/Maildir
 MAILDIR_SUB=Maildir
 
+# SOGo session timeout in minutes
+SOGO_EXPIRE_SESSION=480
+
 EOF
 
 mkdir -p data/assets/ssl

+ 7 - 0
update.sh

@@ -163,6 +163,7 @@ CONFIG_ARRAY=(
   "SKIP_SOLR"
   "ALLOW_ADMIN_EMAIL_LOGIN"
   "SKIP_HTTP_VERIFICATION"
+  "SOGO_EXPIRE_SESSION"
 )
 
 sed -i '$a\' mailcow.conf
@@ -281,6 +282,12 @@ for option in ${CONFIG_ARRAY[@]}; do
       echo '# Notify about banned IP. Includes whois lookup.' >> mailcow.conf
       echo "WATCHDOG_NOTIFY_BAN=y" >> mailcow.conf
   fi
+  elif [[ ${option} == "SOGO_EXPIRE_SESSION" ]]; then
+    if ! grep -q ${option} mailcow.conf; then
+      echo "Adding new option \"${option}\" to mailcow.conf"
+      echo '# SOGo session timeout in minutes' >> mailcow.conf
+      echo "SOGO_EXPIRE_SESSION=480" >> mailcow.conf
+  fi
   elif ! grep -q ${option} mailcow.conf; then
     echo "Adding new option \"${option}\" to mailcow.conf"
     echo "${option}=n" >> mailcow.conf