EN·ES·DE·PT·FR
⌘K

Dienstinstallation

Installiere aidaemon als Systemdienst, der beim Booten startet und dauerhaft läuft.

Installationsbefehl

bash
./aidaemon install-service

Dies erkennt automatisch die Plattform und generiert die entsprechende Dienstkonfiguration.

Linux (systemd)

Erstellt /etc/systemd/system/aidaemon.service:

aidaemon.service
[Unit]
Description=aidaemon AI Agent
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/full/path/to/aidaemon
WorkingDirectory=/path/to/config/dir
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Aktiviert und startet dann den Dienst:

bash
sudo systemctl daemon-reload
sudo systemctl enable --now aidaemon

macOS (launchd)

Erstellt $HOME/Library/LaunchAgents/ai.aidaemon.plist:

ai.aidaemon.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>ai.aidaemon</string>
    <key>ProgramArguments</key>
    <array>
        <string>/full/path/to/aidaemon</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>StandardOutPath</key>
    <string>/tmp/aidaemon.stdout.log</string>
    <key>StandardErrorPath</key>
    <string>/tmp/aidaemon.stderr.log</string>
</dict>
</plist>

Lädt dann den Dienst:

bash
launchctl load ~/Library/LaunchAgents/ai.aidaemon.plist
macOS-Ruhezustand verhindern
macOS kann Hintergrundprozesse unterbrechen, wenn das System in den Ruhezustand wechselt. Um aidaemon dauerhaft laufen zu lassen, verwende caffeinate:

caffeinate -s aidaemon

Das Flag -s verhindert den Ruhezustand, solange der Prozess läuft. Du kannst auch caffeinate -i verwenden, um den Leerlauf-Ruhezustand zu verhindern, ohne das Display eingeschaltet zu lassen. Bei Ausführung als launchd-Dienst füge caffeinate -s vor dem Binärpfad in deiner plist unter ProgramArguments hinzu.

Zustandsprüfung

Nach der Einrichtung als Dienst überprüfe mit:

bash
curl http://127.0.0.1:8080/health
# {"status": "ok"}

Der Health-Endpunkt wird von axum auf dem konfigurierten daemon.health_bind:daemon.health_port bereitgestellt.