Anleitung · Update

PraxisZeit aktualisieren

So bringen Sie eine bestehende Docker- oder Native-Installation auf eine neue Version — ohne Datenverlust. Datenbank-Migrationen laufen bei jedem Start automatisch.

Immer zuerst

  • Backup ziehen (Datenbank + Konfiguration) — siehe je Variante unten. §16 ArbZG: Zeitdaten 2 Jahre aufbewahren.
  • Nach dem Update Browser-Hard-Refresh (Strg+F5 bzw. Cmd+Shift+R) — sonst lädt der Browser das alte Frontend aus dem Cache.

Docker

Die Daten liegen im Docker-Volume postgres_data und bleiben über Updates erhalten (down/up löscht sie nicht — nur down -v würde das Volume entfernen).

1. Backup:

docker compose exec -T db pg_dump -U "$POSTGRES_USER" "$POSTGRES_DB" > backup-$(date +%F).sql

2. Neues Docker-Paket (praxiszeit-<neu>-docker.tar.gz/.zip) herunterladen + entpacken, die bestehende .env übernehmen(NICHT generate-secrets.sh erneut ausführen) und im selben Verzeichnis starten (gleicher Compose-Projektname = gleiches Volume):

cp /pfad/zur/alten/installation/.env ./.env
docker compose -f docker-compose.yml -f docker-compose.ssl.yml up -d --build

Migrationen laufen beim Backend-Start automatisch (docker compose logs backend).

Native — Linux / macOS

Update = das neue Tarball entpacken und den Installer erneut in dasselbe Verzeichnis ausführen. Daten (data/db) und Konfiguration (config/ inkl. .secret-key/.db-credentials/license.key) bleiben erhalten.

# Backup: nächtliche Sicherung liegt unter data/backups/
sudo systemctl stop praxiszeit          # macOS: launchctl unload (s. INSTALL-NATIVE.md)

mkdir -p praxiszeit-<neu>
tar xzf praxiszeit-<neu>-linux-x64.tar.gz -C praxiszeit-<neu>   # macOS: -macos-x64 / -macos-arm64
cd praxiszeit-<neu>
sudo ./install.sh                        # erkennt die Installation, behält Daten/Config/Lizenz
sudo systemctl status praxiszeit

Wichtig: config/ niemals vorher löschen — dort liegen .secret-key und .db-credentials(sonst Session-/DB-Verlust).

Native — Windows

Neues praxiszeit-<neu>-windows-x64.zip entpacken, dann als Administrator:

update-wizard.bat

Der Wizard stoppt den Dienst, spielt Code + Python-Abhängigkeiten ein, installiert bei Bedarf die VC++-Runtime nach und startet den Dienst neu. Konfiguration und Datenbank bleiben erhalten. Stolperfallen: NATIVE-WINDOWS-PITFALLS.md .

Update-Hinweis in der App

Als Admin sehen Sie im Dashboard ein Update-Banner, sobald eine neue Version verfügbar ist. Es informiert nur — eingespielt wird das Update über die oben beschriebenen Schritte. Einen automatischen Schema-Downgrade gibt es nicht; daher vor jedem Update das Backup.

Vollständige Update-Doku auf GitHub

Schritt-für-Schritt inklusive Rollback, Versionsprüfung und plattformspezifischer Details.