public
nobgit
read
NobMail
Based on mailcow: dockerized
Languages
Repository composition by tracked source files.
PHP
49%
JavaScript
35%
HTML
9%
CSS
4%
Shell
2%
Python
1%
Lua
0%
Perl
0%
Ruby
0%
SCSS
0%
Create file
Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git
Commit
compose: changes cronjobs to regular cron syntax + fixed sogo creds for cronjobs (#6866)
* cron: restructure cron timer to time on second (instead of random) * dovecot: fix clearance for cron.creds file
62d16c9e
data/Dockerfiles/dovecot/docker-entrypoint.sh | 7 +++---
docker-compose.yml | 32 +++++++++++++--------------
2 files changed, 20 insertions(+), 19 deletions(-)
Diff
diff --git a/data/Dockerfiles/dovecot/docker-entrypoint.sh b/data/Dockerfiles/dovecot/docker-entrypoint.sh
index fe2341bf..e58abbb6 100755
--- a/data/Dockerfiles/dovecot/docker-entrypoint.sh
+++ b/data/Dockerfiles/dovecot/docker-entrypoint.sh
@@ -204,16 +204,17 @@ EOF
# Create random master Password for SOGo SSO
RAND_PASS=$(cat /dev/urandom | tr -dc 'a-z0-9' | fold -w 32 | head -n 1)
echo -n ${RAND_PASS} > /etc/phpfpm/sogo-sso.pass
-# Creating additional creds file for SOGo notify crons (calendars, etc)
-echo -n ${RAND_USER}@mailcow.local:${RAND_PASS} > /etc/sogo/cron.creds
cat <<EOF > /etc/dovecot/sogo-sso.conf
# Autogenerated by mailcow
passdb {
driver = static
- args = allow_real_nets=${IPV4_NETWORK}.248/32 password={plain}${RAND_PASS}
+ args = allow_nets=${IPV4_NETWORK}.248/32 password={plain}${RAND_PASS}
}
EOF
+# Creating additional creds file for SOGo notify crons (calendars, etc) (dummy user, sso password)
+echo -n ${RAND_USER}@mailcow.local:${RAND_PASS} > /etc/sogo/cron.creds
+
if [[ "${MASTER}" =~ ^([nN][oO]|[nN])+$ ]]; then
# Toggling MASTER will result in a rebuild of containers, so the quota script will be recreated
cat <<'EOF' > /usr/local/bin/quota_notify.py
diff --git a/docker-compose.yml b/docker-compose.yml
index 0522a6a2..fef73836 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -188,10 +188,10 @@ services:
restart: always
labels:
ofelia.enabled: "true"
- ofelia.job-exec.phpfpm_keycloak_sync.schedule: "@every 1m"
+ ofelia.job-exec.phpfpm_keycloak_sync.schedule: "0 * * * * *"
ofelia.job-exec.phpfpm_keycloak_sync.no-overlap: "true"
ofelia.job-exec.phpfpm_keycloak_sync.command: "/bin/bash -c \"php /crons/keycloak-sync.php || exit 0\""
- ofelia.job-exec.phpfpm_ldap_sync.schedule: "@every 1m"
+ ofelia.job-exec.phpfpm_ldap_sync.schedule: "0 * * * * *"
ofelia.job-exec.phpfpm_ldap_sync.no-overlap: "true"
ofelia.job-exec.phpfpm_ldap_sync.command: "/bin/bash -c \"php /crons/ldap-sync.php || exit 0\""
networks:
@@ -236,13 +236,13 @@ services:
- sogo-userdata-backup-vol-1:/sogo_backup
labels:
ofelia.enabled: "true"
- ofelia.job-exec.sogo_sessions.schedule: "@every 1m"
+ ofelia.job-exec.sogo_sessions.schedule: "0 * * * * *"
ofelia.job-exec.sogo_sessions.command: "/bin/bash -c \"[[ $${MASTER} == y ]] && /usr/local/bin/gosu sogo /usr/sbin/sogo-tool -v expire-sessions $${SOGO_EXPIRE_SESSION} || exit 0\""
- ofelia.job-exec.sogo_ealarms.schedule: "@every 1m"
+ ofelia.job-exec.sogo_ealarms.schedule: "0 * * * * *"
ofelia.job-exec.sogo_ealarms.command: "/bin/bash -c \"[[ $${MASTER} == y ]] && /usr/local/bin/gosu sogo /usr/sbin/sogo-ealarms-notify -p /etc/sogo/cron.creds || exit 0\""
- ofelia.job-exec.sogo_eautoreply.schedule: "@every 5m"
- ofelia.job-exec.sogo_eautoreply.command: "/bin/bash -c \"[[ $${MASTER} == y ]] && /usr/local/bin/gosu sogo /usr/sbin/sogo-tool update-autoreply -p /etc/sogo/cron.creds || exit 0\""
- ofelia.job-exec.sogo_backup.schedule: "@every 24h"
+ ofelia.job-exec.sogo_eautoreply.schedule: "0 */5 * * * *"
+ ofelia.job-exec.sogo_eautoreply.command: "/bin/bash -c \"[[ $${MASTER} == y ]] && /usr/local/bin/gosu sogo /usr/sbin/sogo-tool update-autoreply -p /etc/sogo/sieve.creds || exit 0\""
+ ofelia.job-exec.sogo_backup.schedule: "0 0 0 * * *"
ofelia.job-exec.sogo_backup.command: "/bin/bash -c \"[[ $${MASTER} == y ]] && /usr/local/bin/gosu sogo /usr/sbin/sogo-tool backup /sogo_backup ALL || exit 0\""
restart: always
networks:
@@ -252,7 +252,7 @@ services:
- sogo
dovecot-mailcow:
- image: ghcr.io/mailcow/dovecot:2.35
+ image: ghcr.io/mailcow/dovecot:2.3.21.1
depends_on:
- mysql-mailcow
- netfilter-mailcow
@@ -310,22 +310,22 @@ services:
tty: true
labels:
ofelia.enabled: "true"
- ofelia.job-exec.dovecot_imapsync_runner.schedule: "@every 1m"
+ ofelia.job-exec.dovecot_imapsync_runner.schedule: "0 * * * * *"
ofelia.job-exec.dovecot_imapsync_runner.no-overlap: "true"
ofelia.job-exec.dovecot_imapsync_runner.command: "/bin/bash -c \"[[ $${MASTER} == y ]] && /usr/local/bin/gosu nobody /usr/local/bin/imapsync_runner.pl || exit 0\""
- ofelia.job-exec.dovecot_trim_logs.schedule: "@every 1m"
+ ofelia.job-exec.dovecot_trim_logs.schedule: "0 * * * * *"
ofelia.job-exec.dovecot_trim_logs.command: "/bin/bash -c \"[[ $${MASTER} == y ]] && /usr/local/bin/gosu vmail /usr/local/bin/trim_logs.sh || exit 0\""
- ofelia.job-exec.dovecot_quarantine.schedule: "@every 20m"
+ ofelia.job-exec.dovecot_quarantine.schedule: "0 */20 * * * *"
ofelia.job-exec.dovecot_quarantine.command: "/bin/bash -c \"[[ $${MASTER} == y ]] && /usr/local/bin/gosu vmail /usr/local/bin/quarantine_notify.py || exit 0\""
- ofelia.job-exec.dovecot_clean_q_aged.schedule: "@every 24h"
+ ofelia.job-exec.dovecot_clean_q_aged.schedule: "0 0 0 * * *"
ofelia.job-exec.dovecot_clean_q_aged.command: "/bin/bash -c \"[[ $${MASTER} == y ]] && /usr/local/bin/gosu vmail /usr/local/bin/clean_q_aged.sh || exit 0\""
- ofelia.job-exec.dovecot_maildir_gc.schedule: "@every 30m"
+ ofelia.job-exec.dovecot_maildir_gc.schedule: "0 */30 * * * *"
ofelia.job-exec.dovecot_maildir_gc.command: "/bin/bash -c \"source /source_env.sh ; /usr/local/bin/gosu vmail /usr/local/bin/maildir_gc.sh\""
- ofelia.job-exec.dovecot_sarules.schedule: "@every 24h"
+ ofelia.job-exec.dovecot_sarules.schedule: "0 0 0 * * *"
ofelia.job-exec.dovecot_sarules.command: "/bin/bash -c \"/usr/local/bin/sa-rules.sh\""
- ofelia.job-exec.dovecot_fts.schedule: "@every 24h"
+ ofelia.job-exec.dovecot_fts.schedule: "0 0 0 * * *"
ofelia.job-exec.dovecot_fts.command: "/bin/bash -c \"/usr/local/bin/gosu vmail /usr/local/bin/optimize-fts.sh\""
- ofelia.job-exec.dovecot_repl_health.schedule: "@every 5m"
+ ofelia.job-exec.dovecot_repl_health.schedule: "0 */5 * * * *"
ofelia.job-exec.dovecot_repl_health.command: "/bin/bash -c \"/usr/local/bin/gosu vmail /usr/local/bin/repl_health.sh\""
ulimits:
nproc: 65535