BOSWatch – Dienstinstallation (Service Setup)

🇩🇪 BOSWatch als Dienst verwenden

Es wird vorausgesetzt, dass BOSWatch unter /opt/boswatch3 installiert ist.
Falls du einen anderen Installationspfad nutzt, müssen alle Pfadangaben in dieser Anleitung, im Skript sowie in den generierten Service-Dateien entsprechend angepasst werden.

Für jeden Dienst muss eine eigene *.yaml-Datei im Ordner config/ vorhanden sein.
Beim Ausführen des Skripts wirst du interaktiv gefragt, welche dieser YAML-Dateien installiert oder übersprungen werden sollen.

Dienst installieren

Als Erstes wechseln wir ins BOSWatch Verzeichnis:

cd /opt/boswatch3

Das Installationsskript install_service.py wird anschließend mit Root-Rechten ausgeführt:

sudo python3 install_service.py

Es folgt ein interaktiver Ablauf, bei dem du gefragt wirst, welche YAML-Dateien installiert oder entfernt werden sollen.

Zusätzliche Optionen (fortgeschrittene Anwender)

Das Skript bietet zusätzliche CLI-Optionen für mehr Kontrolle:

usage: install_service.py [-h] [--verbose] [--quiet]

Installiert oder entfernt systemd-Services für BOSWatch basierend auf YAML-Konfigurationsdateien.

optional arguments:
  -h, --help     zeigt diese Hilfe an
  --dry-run      für Entwickler: führt keine echten Änderungen aus (Simulation)
  --verbose      zeigt ausführliche Debug-Ausgaben
  --quiet        unterdrückt alle Ausgaben außer Warnungen und Fehlern
  -l, --lang [de|en]  Sprache für alle Ausgaben (Standard: de)

Neustart nach Serviceinstallation

Nach Durchlaufen des Skripts boote dein System erneut durch, um den korrekten Startvorgang zu überprüfen:

sudo reboot

Kontrolle, ob alles funktioniert hat

Um zu kontrollieren, ob alles ordnungsgemäß hochgefahren ist, kannst du die zwei Services mit folgenden Befehlen abfragen und die letzten Log-Einträge ansehen:

  1. Client-Service
sudo systemctl status bw3_[clientname].service

Ersetze [clientname] mit dem Namen, den deine client.yaml hat (Standardmäßig: client)

Um das Log zu schließen, "q" drücken.

  1. Server-Service
sudo systemctl status bw3_[servername].service

Ersetze [servername] mit dem Namen, den deine server.yaml hat (Standardmäßig: server)

Um das Log zu schließen, "q" drücken.

Beide Outputs sollten so ähnlich beginnen:

bw3_client.service - BOSWatch Client
     Loaded: loaded (/etc/systemd/system/bw3_client.service; enabled; preset: enabled)
     Active: active (running) since Mon 1971-01-01 01:01:01 CEST; 15min 53s ago

Falls du in deinen letzten Logzeilen keine Error vorfinden kannst, die auf einen Stopp des Clients bzw. Server hinweisen, läuft das Programm wie gewünscht, sobald du deinen Rechner startest.

Logdatei

Alle Aktionen des Installationsskripts werden in der Datei log/install/service_install.log protokolliert.

Hinweis

Nach der Installation oder Entfernung wird systemctl daemon-reexec automatisch aufgerufen, damit systemd die neuen oder entfernten Units korrekt verarbeitet.


🇬🇧 Use BOSWatch as a Service

We assume that BOSWatch is installed to /opt/boswatch3.
If you are using a different path, please adjust all paths in this guide, in the script and in the generated service files accordingly.

Each service requires its own *.yaml file inside the config/ folder.
The script will interactively ask which YAML files to install or skip.

Install the Service

First, change directory to BOSWatch folder:

cd /opt/boswatch3

After that, run the install script install_service.py with root permissions:

sudo python3 install_service.py -l en 

You will be guided through an interactive selection to install or remove desired services.

Additional Options

The script supports additional CLI arguments for advanced usage:

usage: install_service.py [-h] [--dry-run] [--verbose] [--quiet]

Installs or removes BOSWatch systemd services based on YAML config files.

optional arguments:
  -h, --help     show this help message and exit
  --dry-run      simulate actions without making real changes
  --verbose      show detailed debug output
  --quiet        suppress all output except warnings and errors
  -l, --lang [de|en]  Language for all output (default: de)

Reboot After Setup

After running the script, reboot your system to verify that the services start correctly:

sudo reboot

Verifying Successful Setup

To check if everything started properly, you can query the two services and inspect the most recent log entries:

  1. Client Service
sudo systemctl status bw3_[clientname].service

Replace [clientname] with the name of your client.yaml file (default: client).

To close the log, press "q".

  1. Server Service
sudo systemctl status bw3_[servername].service

Replace [servername] with the name of your server.yaml file (default: server).

To close the log, press "q".

Both outputs should start similarly to this:

bw3_client.service - BOSWatch Client
     Loaded: loaded (/etc/systemd/system/bw3_client.service; enabled; preset: enabled)
     Active: active (running) since Mon 1971-01-01 01:01:01 CEST; 15min 53s ago

If the latest log entries do not show any errors indicating a client or server crash, then the services are running correctly and will automatically start on boot.

Log File

All actions of the installation script are logged to log/install/service_install.log.

Note

After installation or removal, systemctl daemon-reexec is automatically triggered to reload unit files properly.