From 452fac2698f7e1e7f136607eeac8a72c7165e6d8 Mon Sep 17 00:00:00 2001 From: fds2610 Date: Sun, 29 Mar 2026 13:27:42 +0200 Subject: [PATCH] README.md: Systemd-Service und automatische Migrations-Doku --- README.md | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/README.md b/README.md index 88aca81..89f3274 100644 --- a/README.md +++ b/README.md @@ -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).