README.md: Systemd-Service und automatische Migrations-Doku

This commit is contained in:
fds2610 2026-03-29 13:27:42 +02:00
parent 5c7bc073fa
commit 452fac2698

View file

@ -131,6 +131,47 @@ ports:
Beide Pfade liegen außerhalb des Containers und bleiben bei `docker compose down` erhalten.
## Systemd-Service einrichten
Damit Steuerkram automatisch beim Systemstart startet und als Dienst verwaltet werden kann, liegt im Repository die Datei `steuerkram.service`.
#### 1. Service-Datei installieren
```bash
sudo cp steuerkram.service /etc/systemd/system/steuerkram.service
```
Die Datei setzt `WorkingDirectory=/opt/Steuerkram` voraus. Falls das Repository in ein anderes Verzeichnis geklont wurde, den Pfad in der Service-Datei anpassen:
```bash
sudo nano /etc/systemd/system/steuerkram.service
# WorkingDirectory= auf das tatsächliche Installationsverzeichnis setzen
```
#### 2. Service aktivieren und starten
```bash
sudo systemctl daemon-reload
sudo systemctl enable steuerkram # automatisch beim Systemstart
sudo systemctl start steuerkram
```
#### 3. Status prüfen
```bash
sudo systemctl status steuerkram
journalctl -u steuerkram -f # Live-Log inkl. Migrations-Ausgabe
```
#### Wichtige Service-Befehle
| Befehl | Wirkung |
|---|---|
| `sudo systemctl start steuerkram` | Container starten |
| `sudo systemctl stop steuerkram` | Container stoppen |
| `sudo systemctl restart steuerkram` | Neustart (z.B. nach Update) |
| `sudo systemctl status steuerkram` | Aktueller Status |
## Backup
```bash
@ -141,11 +182,35 @@ Das Skript erstellt ein Dump der Datenbank sowie ein Archiv der Uploads im Verze
## Update
Datenbankmigrationen werden **automatisch** beim nächsten Container-Start eingespielt – kein manueller Eingriff nötig. Das Script `scripts/migrate.php` prüft beim Start, welche Migrations-Dateien noch nicht angewendet wurden, und führt sie der Reihe nach aus.
#### Ohne Systemd-Service (manuell)
```bash
git pull
docker compose up -d --build
```
Der Web-Container führt `scripts/migrate.php` automatisch beim Start aus. Die Ausgabe ist im Container-Log sichtbar:
```bash
docker compose logs web
```
#### Mit Systemd-Service
```bash
git pull
docker compose build
sudo systemctl restart steuerkram
```
Migrations-Ausgabe im Journal:
```bash
journalctl -u steuerkram -f
```
## GoBD-Hinweise
- Gebuchte Sätze können nicht geändert oder gelöscht werden (MariaDB `BEFORE UPDATE/DELETE` Trigger).