#!/usr/bin/env bash set -euo pipefail source ./lib.sh log "systemd Units (Reverb / Scheduler / Queue / Mail) …" cat > /etc/systemd/system/${APP_USER}-ws.service < /etc/systemd/system/${APP_USER}-schedule.service < /etc/systemd/system/${APP_USER}-queue.service </dev/null 2>&1 || true fi systemctl enable --now ${APP_USER}-schedule systemctl enable --now ${APP_USER}-queue # Mail-Dienste starten systemctl enable --now rspamd opendkim postfix dovecot || true # PHP-FPM: Unit erkennen, enable + (re)load enable_and_touch_php_fpm() { for u in php8.3-fpm php8.2-fpm php8.1-fpm php8.0-fpm php7.4-fpm php-fpm; do if systemctl list-unit-files | grep -q "^${u}\.service"; then systemctl enable --now "$u" || true systemctl reload "$u" || systemctl restart "$u" || true echo "[i] PHP-FPM unit: $u" return 0 fi done echo "[!] Keine passende php-fpm Unit gefunden." } enable_and_touch_php_fpm # Falls in 80-app.sh DKIM installiert wurde: jetzt einmal reloaden if [[ -e /run/mailwolt.need-opendkim-reload ]]; then systemctl reload opendkim || true rm -f /run/mailwolt.need-opendkim-reload || true fi # Falls Zert-Fix markiert ist: Dovecot neu laden if [[ -e /run/mailwolt.need-dovecot-reload ]]; then systemctl reload dovecot || true rm -f /run/mailwolt.need-dovecot-reload || true fi # Falls DB-Migration schon durch: einmal reload db_ready(){ mysql -u"${DB_USER}" -p"${DB_PASS}" -h 127.0.0.1 -D "${DB_NAME}" -e "SHOW TABLES LIKE 'migrations'\G" >/dev/null 2>&1; } if db_ready; then systemctl reload postfix || true fi # Mini-Portcheck (hilft beim Installer-Output) echo "Listening (25/465/587):" ss -ltnp | awk '$4 ~ /:(25|465|587)$/ {print " " $0}'