1. Systemd-Service-Datei generieren

Fishnet kann die .service-Datei selbst ausgeben. Wir erstellen das Verzeichnis für User-Services und leiten die Ausgabe direkt in eine neue Datei um:

BASH
mkdir -p ~/.config/systemd/user/
./fishnet systemd --auto-update > ~/.config/systemd/user/fishnet.service

2. Service-Datei überprüfen/anpassen

Da wir den Service im Verzeichnis /home/USER/fishnet liegen haben, müssen wir sicherstellen, dass die Pfade in der generierten Datei stimmen. Öffne die Datei mit micro:

BASH
micro ~/.config/systemd/user/fishnet.service

Achte darauf, dass die Zeile ExecStart auf den absoluten Pfad deiner Binärdatei zeigt und das WorkingDirectory korrekt ist. Es sollte in etwa so aussehen:

Debian

TXT
[Unit]
Description=Fishnet Lichess Analysis Client
After=network.target

[Service]
Type=simple
WorkingDirectory=/home/USER/fishnet
ExecStart=/home/USER/fishnet/fishnet --auto-update
Restart=always
RestartSec=10

[Install]
WantedBy=default.target

(Falls WorkingDirectory oder der Pfad bei ExecStart nicht stimmen, passe sie einfach kurz an und speichere mit Strg+S und schließe mit Strg+Q).

CashyOS

TXT
[Unit]
Description=Fishnet client
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/home/USER/.local/bin/fishnet --auto-update --conf /home/USER/.local/bin/fishnet.ini --stats-file /home/USER/.local/bin/.fishnet-stats run > /home/USER/local/bin/fishnet.log 2>&1
KillMode=mixed
WorkingDirectory=/tmp
User=USER
CapabilityBoundingSet=
PrivateTmp=true
PrivateDevices=true
DevicePolicy=closed
ProtectSystem=full
NoNewPrivileges=true
Restart=on-failure

[Install]
WantedBy=multi-user.target

3. Service aktivieren und starten

Jetzt laden wir den Systemd-Daemon für deinen User neu, aktivieren den Autostart und starten Fishnet direkt:

BASH
systemctl --user daemon-reload
systemctl --user enable fishnet.service
systemctl --user start fishnet.service

4. Status überprüfen

Ob alles sauber im Hintergrund läuft, siehst du mit diesem Befehl:

BASH
systemctl --user status fishnet.service

Wenn du die Live-Logs (wie vorhin im Terminal) sehen willst, nutzt du journalctl:

BASH
journalctl --user -u fishnet.service -f

5. Wichtig für VPS (Dauerhaftes Laufen aktivieren)

Standardmäßig beendet Debian User-Services, sobald sich der Benutzer per SSH ausloggt. Damit Fishnet auch weiterrechnet, wenn du die SSH-Verbindung trennst, müssen wir das sogenannte "Lingering" für deinen User aktivieren.

Dazu benötigst du einmalig sudo:

BASH
sudo loginctl enable-linger USER

Damit läuft dein Fishnet-Client nun absolut autark, aktualisiert sich selbst und startet auch nach einem Reboot des VPS automatisch wieder im Hintergrund!