BW3-Core/docu/docs/service.md

167 lines
5.5 KiB
Markdown
Raw Permalink Normal View History

# 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:
```bash
cd /opt/boswatch3
```
Das Installationsskript `install_service.py` wird anschließend mit Root-Rechten ausgeführt:
```bash
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:
```bash
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:
```bash
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
```bash
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.
2. Server-Service
```bash
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:**
```text
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:
```bash
cd /opt/boswatch3
```
After that, run the install script `install_service.py` with root permissions:
```bash
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:
```bash
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:
```bash
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
```bash
sudo systemctl status bw3_[clientname].service
```
Replace [clientname] with the name of your client.yaml file (default: client).
To close the log, press "q".
2. Server Service
```bash
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:**
```text
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.