Autostart
setup.sh richtet Autostart automatisch ein. Diese Seite erklärt die launchctl-Befehle, die du auf macOS im Alltag brauchst, und zeigt was auf Linux anders ist.
macOS LaunchAgent
setup.sh installiert eine LaunchAgent-Plist unter ~/Library/LaunchAgents/com.penates.plist. launchd lädt sie beim Login und hält den Server am Laufen. Die Plist wird von setup.sh idempotent neu erzeugt. Erneutes Ausführen nach einem Update ist sicher.
Status
launchctl list | grep penatesEine Zeile mit PID in der zweiten Spalte bedeutet, der Server läuft. 0 = sauber beendet. Negativer Wert = Exit-Code: logs/stderr.log prüfen.
Neu starten
Nach Änderungen an .env oder nach Code-Updates:
launchctl kickstart -k gui/$(id -u)/com.penatesStoppen
launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/com.penates.plistDer LaunchAgent wird entladen und der Server stoppt. Wieder manuell starten:
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.penates.plistLogs
tail -f ~/penates/logs/stdout.logtail -f ~/penates/logs/stderr.logAudit-Log
Sicherheits-Events (Auth-Versuche, Session-Lifecycle, Rate-Limit-Treffer) werden im JSONL-Format nach ~/.penates/audit.log geschrieben:
tail -f ~/.penates/audit.log | jq -cLinux (systemd)
Auf Linux installiert setup.sh eine systemd-User-Unit unter ~/.config/systemd/user/penates.service und aktiviert sie mit loginctl enable-linger, damit der Service auch ohne aktive Session läuft. Entsprechende Befehle:
systemctl --user status penatessystemctl --user restart penatessystemctl --user stop penatesjournalctl --user -u penates -fMehr Details: Plattform-Hinweise.