#!/bin/sh # entrypoint.sh - Custom entrypoint für Dovecot mit UMASK-Einstellung # UMASK aus Umgebungsvariable setzen (Standard ist 002, wenn nicht anders angegeben) CUSTOM_UMASK=${UMASK:-002} echo "Setting umask to $CUSTOM_UMASK" umask $CUSTOM_UMASK # UMASK auch in /etc/login.defs setzen für zukünftige Logins sed -i "s/^UMASK\s*[0-9]\+/UMASK $CUSTOM_UMASK/" /etc/login.defs # Falls UMASK noch nicht existiert, hinzufügen grep -q "^UMASK" /etc/login.defs || echo "UMASK $CUSTOM_UMASK" >> /etc/login.defs # Dovecot-Einstellungen anwenden (falls nötig) if [ -n "$DOVECOT_UID" ] && [ -n "$DOVECOT_GID" ]; then echo "Configuring Dovecot with UID=$DOVECOT_UID, GID=$DOVECOT_GID" sed -i "s/^mail_uid\s*=.*/mail_uid = $DOVECOT_UID/" /etc/dovecot/dovecot.conf sed -i "s/^mail_gid\s*=.*/mail_gid = $DOVECOT_GID/" /etc/dovecot/dovecot.conf fi # Wenn nicht genügend Berechtigungen für Mail-Verzeichnisse, automatisch korrigieren echo "Checking mail directory permissions..." find /var/mail -type d -exec chmod 775 {} \; 2>/dev/null || true find /var/mail -type f -exec chmod 664 {} \; 2>/dev/null || true # Original Docker-Entrypoint ausführen # oder direkter Start von Dovecot, je nach Image if [ -f "/docker-entrypoint.sh" ]; then echo "Executing original docker-entrypoint.sh" exec /docker-entrypoint.sh "$@" else echo "Starting dovecot" exec dovecot -F fi