Anleitung · Linux
PraxisZeit unter Linux einrichten
Quick-Start für Ubuntu 22.04+, Debian 12 und Fedora 39+. Wahlweise nativ mit systemd oder containerisiert mit Docker — beide Wege sind vollständig dokumentiert.
Voraussetzungen
Vor dem Start prüfen- Ubuntu 22.04 LTS+ / Debian 12+ / Fedora 39+
sudo-Zugriff auf den Praxis-Server- Mindestens 2 GB RAM, 5 GB freier Speicherplatz
- Port
443frei - Optional: Docker 24+ und Docker Compose v2
Zwei Installationswege
Beide Wege führen zum selben Ergebnis. Wählen Sie nach Komfort:
Docker
EmpfohlenSchnellster Weg für IT-affine Nutzer. PostgreSQL läuft als eigener Container, Updates per docker compose pull.
Nativ
Klassisch via Tarball, install.sh und systemd. Python und PostgreSQL sind im Tarball gebündelt (theseus 16) — keine Voraussetzungen.
Pfad A: Docker-Quick-Start
Docker-Bundle entpacken
Für Docker benötigen Sie das Docker-Bundle (praxiszeit-<version>-docker.tar.gz aus den GitHub-Releases ). Es enthält docker-compose.yml, generate-secrets.sh und den Build-Kontext.
tar -xzf praxiszeit-<version>-docker.tar.gz cd praxiszeit-<version>
Achtung: Das normale Linux-Tarball (praxiszeit-<version>-linux-x64.tar.gz) ist für die native Installation (Pfad B) und enthält kein docker-compose.yml — docker compose up bricht damit mit no configuration file provided ab.
Secrets erzeugen
Das Skript schreibt eine .env mit starken Zufallswerten (Datenbank-Passwörter, SECRET_KEY) und gibt das initiale Admin-Passwort aus — notieren!
bash generate-secrets.sh
Mit HTTPS starten
Selbstsigniertes Zertifikat erzeugen und die Container mit dem SSL-Overlay starten — beim ersten Start wird das Datenbankschema migriert (wenige Sekunden):
bash ssl/generate-cert.sh sudo docker compose -f docker-compose.yml -f docker-compose.ssl.yml up -d --build
Logs prüfen Sie mit sudo docker compose logs -f backend.
Im Browser öffnen
Öffnen Sie https://<server-ip> und akzeptieren Sie einmalig das selbstsignierte Zertifikat. Anschließend melden Sie sich mit den Admin-Zugangsdaten aus Schritt 2 an.
Pfad B: Native Installation
Tarball entpacken
Das native Linux-Tarball entpackt flach (ohne Top-Level-Ordner) — daher zuerst einen Zielordner anlegen und mit -C dorthin entpacken:
mkdir -p praxiszeit-<version> tar -xzf praxiszeit-<version>-linux-x64.tar.gz -C praxiszeit-<version> cd praxiszeit-<version>
install.sh ausführen
Python und PostgreSQL (theseus 16) sind im Tarball gebündelt — eine vorhandene System-PostgreSQL auf :5432 stört nicht (eigener Cluster über Unix-Socket). Das Skript kopiert die Binaries nach /opt/praxiszeit/, legt den Service-User praxiszeit an, installiert die nötigen Laufzeit-Bibliotheken und richtet die systemd-Unit ein.
sudo ./install.sh
Dienst aktivieren
sudo systemctl enable praxiszeit sudo systemctl start praxiszeit sudo systemctl status praxiszeit
Logs verfolgen Sie mit sudo journalctl -u praxiszeit -f.
Firewall öffnen und im Browser öffnen
Auf Ubuntu/Debian mit ufw:
sudo ufw allow 443/tcp
Auf Fedora/RHEL mit firewalld:
sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
Anschließend https://<server-ip> im Browser öffnen.
Vollständige Linux-Anleitung auf GitHub
Reverse-Proxy mit nginx oder Caddy, Backup-Skripte für PostgreSQL, Tipps zu SELinux/AppArmor und Multi-Praxis-Setups finden Sie in der ausführlichen Dokumentation.