Zum Inhalt springen

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

Terminal-Fenster
launchctl list | grep penates

Eine 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:

Terminal-Fenster
launchctl kickstart -k gui/$(id -u)/com.penates

Stoppen

Terminal-Fenster
launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/com.penates.plist

Der LaunchAgent wird entladen und der Server stoppt. Wieder manuell starten:

Terminal-Fenster
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.penates.plist

Logs

Terminal-Fenster
tail -f ~/penates/logs/stdout.log
tail -f ~/penates/logs/stderr.log

Audit-Log

Sicherheits-Events (Auth-Versuche, Session-Lifecycle, Rate-Limit-Treffer) werden im JSONL-Format nach ~/.penates/audit.log geschrieben:

Terminal-Fenster
tail -f ~/.penates/audit.log | jq -c

Linux (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:

Terminal-Fenster
systemctl --user status penates
systemctl --user restart penates
systemctl --user stop penates
journalctl --user -u penates -f

Mehr Details: Plattform-Hinweise.