Anmelden
Selfhost

Worklenz Docker Guide - The Agency Guide to Secure Self-Hosting

Chamika Jayasri
#Selfhost#Docker#WorklenzGuide
Worklenz Docker Guide

Worklenz Docker Anleitung

Effizientes Projektmanagement beginnt mit Werkzeugen, die nicht nur leistungsstark, sondern auch einfach zu implementieren sind. Docker, eine fuhrende Plattform fur den Einsatz von containerisierten Anwendungen, verandert die Art und Weise, wie Unternehmen Softwareinstallationen verwalten. Durch die Vereinfachung komplexer Konfigurationen und die Gewahrleistung von Konsistenz in verschiedenen Umgebungen ist Docker zu einem unverzichtbaren Werkzeug fur moderne Teams geworden.

Fur Worklenz bietet Docker ein nahtloses Bereitstellungserlebnis, das auf die Bedurfnisse von Startups und Unternehmen zugeschnitten ist. Mit seiner Portabilitat, Skalierbarkeit und effizienten Ressourcenverwaltung beseitigt Docker die Herausforderungen traditioneller Installationen und ermoglicht es Teams, sich auf das zu konzentrieren, was wirklich zahlt: den Projekterfolg.

Entdecken Sie, wie die Bereitstellung von Worklenz mit Docker die Effizienz Ihres Teams steigern und Ihre IT-Operationen vereinfachen kann.

Fur wen ist das geeignet?

Wenn Sie ein technikaffines Startup, ein wachsendes Unternehmen oder ein Unternehmen sind, das eine kostengunstige, skalierbare Aufgabenverwaltungslosung sucht, ist das Self-Hosting von Worklenz mit Docker ein echtes Highlight! Mit voller Kontrolle uber Ihre Daten, nahtloser Skalierbarkeit und Flexibilitat ist die Docker-Bereitstellung ideal fur Teams, die eine robuste und sichere Aufgabenverwaltungsplattform ohne Abhangigkeit von Drittanbieter-Hosting wunschen.


Inhaltsverzeichnis


Was Sie benotigen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Docker - Fur die Containerisierung
  • Docker Compose - Fur die Verwaltung mehrerer Dienste
  • Git (empfohlen) - Zum Klonen des Repositorys
  • Internetzugang zum Herunterladen der erforderlichen Dateien
  • Grundlegende Vertrautheit mit der Offnung eines Terminals (Eingabeaufforderung oder Aquivalent)

Wenn Docker noch nicht installiert ist, folgen Sie dieser Anleitung, um es zuerst einzurichten. Wenn Docker Compose noch nicht installiert ist, folgen Sie dieser Anleitung, um es einzurichten. Wenn Git noch nicht installiert ist, folgen Sie dieser Anleitung, um Git auf Ihrem Computer einzurichten.

Mindestsystemanforderungen

  • CPU: 2+ Kerne
  • RAM: Mindestens 4 GB (8 GB empfohlen)
  • Festplattenspeicher: 10 GB frei fur Docker-Images und -Container

Schnellstart-Methode (Empfohlen)

Der schnellste Weg, Worklenz zum Laufen zu bringen, ist die Verwendung des automatisierten Einrichtungsskripts. Diese Methode ubernimmt automatisch die Umgebungskonfiguration, SSL-Einrichtung und Dienstinitialisierung.

Schritt 1: Das Repository klonen

Offnen Sie Ihr Terminal und klonen Sie das Worklenz-Repository:

git clone https://github.com/Worklenz/worklenz.git
cd worklenz

Schritt 2: Das Schnelleinrichtungsskript ausfuhren

Fuhren Sie das Quick-Setup-Skript aus, das Folgendes tut:

  • Erstellt eine .env-Datei mit automatisch generierten Sicherheitsgeheimnissen
  • Konfiguriert URLs basierend auf Ihrer Domain
  • Richtet SSL-Zertifikate ein (selbstsigniert fur localhost, Let’s Encrypt fur die Produktion)
./quick-setup.sh

Schritt 3: Die Dienste starten

Fur das Standard-Express-Profil (PostgreSQL, Redis und MinIO inklusive):

docker compose --profile express up -d

Das war’s! Ihre Worklenz-Instanz sollte jetzt laufen.


Manuelle Einrichtungsmethode

Fur mehr Kontrolle uber die Konfiguration konnen Sie Worklenz manuell einrichten.

Schritt 1: Klonen des Repositorys

Option 1: Git zum Klonen des Repositorys verwenden

Offnen Sie Ihr Terminal (oder Eingabeaufforderung, PowerShell oder Git Bash) und fuhren Sie den folgenden Befehl aus, um das Repository auf Ihren lokalen Rechner zu klonen:

git clone https://github.com/Worklenz/worklenz.git
cd worklenz

Option 2: Die Anwendungsdateien herunterladen

Wenn Git nicht installiert ist, konnen Sie die Dateien manuell herunterladen. Besuchen Sie das Worklenz-Repository, klicken Sie auf die Schaltflache “Code” und wahlen Sie “ZIP herunterladen.” Extrahieren Sie die heruntergeladene ZIP-Datei und navigieren Sie zum Ordner:

cd worklenz

Schritt 2: Die Docker-Umgebung vorbereiten

Kopieren Sie die Umgebungsvorlagendatei, um Ihre .env-Datei zu erstellen:

cp .env.template .env

Offnen Sie die .env-Datei in Ihrem bevorzugten Texteditor und konfigurieren Sie sie entsprechend Ihrer Umgebung. Die Vorlagendatei enthalt alle notwendigen Variablen mit Kommentaren, die erklaren, was jede Variable bewirkt. Wichtige zu konfigurierende Variablen sind:

  • Datenbankzugangsdaten (DB_USER, DB_PASSWORD, DB_NAME)
  • Sicherheitsgeheimnisse (SESSION_SECRET, COOKIE_SECRET, JWT_SECRET)
  • Optionale Dienste (Google OAuth, AWS S3, Slack-Webhooks)

Weitere Informationen finden Sie in der .env.template-Datei im Repository fur die vollstandige Liste der verfugbaren Konfigurationsoptionen.

Schritt 3: Container erstellen und starten

Stellen Sie sicher, dass Ihre Docker-Engine lauft, und verwenden Sie dann Docker Compose, um die Container zu erstellen und zu starten:

docker compose --profile express up -d

Dieser Befehl fuhrt Folgendes aus:

  • Erstellt die Docker-Images, wenn sie noch nicht existieren
  • Startet alle Container (Datenbank, Redis, MinIO, Backend, Frontend) im abgetrennten Modus (-d)
  • Stellt sicher, dass alle notwendigen Dienste laufen

Container anhalten

Um alle laufenden Container anzuhalten:

docker compose down

Um Container anzuhalten und Volumes zu entfernen (Vorsicht - dadurch werden Daten geloscht):

docker compose down -v

Bereitstellungsprofile

Worklenz unterstutzt verschiedene Bereitstellungsprofile fur unterschiedliche Anwendungsfalle:

Express-Modus (Standard - Empfohlen)

Enthalt PostgreSQL, Redis und MinIO in einer Einrichtung. Am besten fur die meisten Bereitstellungen:

docker compose --profile express up -d

Erweiterter Modus

Ermoglicht die Verwendung externer Dienste wie AWS S3 oder Azure Blob Storage anstelle von MinIO. Konfigurieren Sie Ihre Cloud-Speicher-Zugangsdaten in .env und fuhren Sie aus:

docker compose up -d

Ihre Bereitstellung verwalten

Verwenden Sie das manage.sh-Skript fur allgemeine Operationen:

# Status aller Dienste prüfen
./manage.sh status

# Protokolle anzeigen
./manage.sh logs

# Backup erstellen
./manage.sh backup

# SSL-Zertifikate verwalten
./manage.sh ssl

Zugriff auf die App

Sobald die Container laufen, konnen Sie uber folgende URLs auf Worklenz zugreifen:

  • Frontend (Web-App): http://localhost oder https://localhost (wenn SSL konfiguriert ist)
  • Backend-API: http://localhost:3000
  • MinIO Storage-Konsole: http://localhost:9001
    • Standard-Zugangsdaten: minioadmin / minioadmin

Hinweis: Konfigurieren Sie fur Produktionsbereitstellungen ordnungsgemas Domainnamen und SSL-Zertifikate fur sicheren Zugriff.


Haufige Probleme beheben

Bei der Einrichtung von Worklenz mit Docker konnen einige haufige Probleme auftreten. Hier sind einige Losungen:

Problem 1: Container starten nicht

Losung fur Linux/macOS: Uberprufen Sie die Docker-Container-Protokolle auf Fehler:

docker compose logs

Wenn Sie Fehler in Bezug auf fehlende Umgebungsvariablen oder andere Probleme sehen, stellen Sie sicher, dass Ihre .env-Datei richtig konfiguriert ist und alle notwendigen Felder ausgefullt sind.

Sie konnen auch uberprufen, ob es konfliktierenden Dienste oder Ports in Gebrauch gibt:

sudo lsof -i :3000

Wenn der Port 3000 in Gebrauch ist, stoppen Sie den Prozess:

sudo kill -9 <PID>

Starten Sie die Docker-Container neu:

docker compose down
docker compose up -d

Losung fur Windows:

Uberprufen Sie die Docker-Container-Protokolle auf Fehler:

docker compose logs

Wenn Sie Fehler in Bezug auf fehlende Umgebungsvariablen sehen, uberprufen Sie Ihre .env-Datei.

Um zu uberprufen, ob Port 3000 in Gebrauch ist, fuhren Sie aus:

netstat -ano | findstr :3000

Finden Sie die PID aus der Ausgabe und stoppen Sie den Prozess:

taskkill /PID <PID> /F

Starten Sie die Docker-Container neu:

docker compose down
docker compose up -d

Problem 2: Datenbankverbindungsprobleme

Losung fur Linux/macOS:

Stellen Sie sicher, dass der Datenbankcontainer lauft:

docker ps

Uberprufen Sie die Datenbankkonfiguration in Ihrer .env-Datei, insbesondere:

  • DB_HOST (sollte postgres fur Docker sein)
  • DB_USER
  • DB_PASSWORD

Wenn der Datenbankcontainer nicht lauft, versuchen Sie, ihn neu zu starten:

docker compose down
docker compose up -d

Losung fur Windows:

Uberprufen Sie, ob der Datenbankcontainer lauft:

docker ps

Uberprufen Sie die Datenbankkonfiguration in Ihrer .env-Datei.

Starten Sie die Container bei Bedarf neu:

docker compose down
docker compose up -d

Problem 3: Port bereits in Gebrauch

Losung fur Linux/macOS:

Wenn Sie eine Fehlermeldung erhalten, dass ein Port bereits in Gebrauch ist (z. B. Port 3000), konnen Sie den Prozess finden, der den Port verwendet:

sudo lsof -i :3000

Wenn ein Prozess den Port verwendet, beenden Sie ihn mit:

sudo kill -9 <PID>

Alternativ konnen Sie den Port in Ihrer .env-Datei andern und die Container neu starten.

Losung fur Windows:

Uberprufen Sie, ob der Port 3000 in Gebrauch ist:

netstat -ano | findstr :3000

Finden Sie die PID aus der Ausgabe, dann beenden Sie den Prozess:

taskkill /PID <PID> /F

Sie konnen auch den Port in Ihrer .env-Datei andern und die Container neu starten.

Problem 4: Berechtigungsprobleme mit Dateien

Losung fur Linux/macOS:

Wenn Sie auf Berechtigungsfehler stossen, stellen Sie sicher, dass die notwendigen Dateien und Verzeichnisse fur Docker zuganglich sind. Uberprufen Sie die Dateiberechtigungen:

ls -l

Passen Sie die Dateiberechtigungen an mit:

sudo chmod -R 755 <Verzeichnis>

Losung fur Windows:

Wenn Sie auf Berechtigungsfehler stossen, stellen Sie sicher, dass Docker Desktop Zugriff auf die notwendigen Verzeichnisse hat. Klicken Sie mit der rechten Maustaste auf den Ordner, wahlen Sie Eigenschaften und gehen Sie zur Registerkarte Sicherheit, um die Berechtigungen zu uberprufen.

Problem 5: Langsame Leistung oder Zeituberschreitungsfehler

Losung:

Wenn Docker langsam lauft, stellen Sie sicher, dass Ihr Computer uber ausreichend Ressourcen verfugt (CPU, RAM, Festplattenspeicher). Passen Sie die Ressourcenzuweisung von Docker Desktop an:

  • Windows/macOS: Offnen Sie Docker Desktop > Einstellungen > Ressourcen und erhohen Sie die Speicher- und CPU-Zuweisung
  • Linux: Konfigurieren Sie die Docker-Daemon-Einstellungen, um mehr Ressourcen zuzuweisen

Erhohen Sie den zugewiesenen Arbeitsspeicher auf mindestens 4 GB fur einen reibungslosen Betrieb.

Problem 6: Keine Verbindung zur App im Browser moglich

Losung:

Stellen Sie sicher, dass die Container laufen:

docker ps

Uberprufen Sie, dass Ihre Firewall den Zugriff auf die erforderlichen Ports erlaubt. Versuchen Sie, auf Folgendes zuzugreifen:

  • Frontend: http://localhost
  • Backend-API: http://localhost:3000

Wenn Sie von einem Remote-Computer zugreifen, konfigurieren Sie Ihre Firewall, um den Datenverkehr auf diesen Ports zuzulassen.

Zusatzliche Hinweise

  • Docker-Images aktualisieren:

Um sicherzustellen, dass Sie die neuesten Versionen der Docker-Images verwenden, konnen Sie die neuesten Versionen vor dem Erstellen der Container abrufen:

docker compose pull
docker compose up -d
  • Ihre Daten sichern:

Wenn Ihr Docker-Setup Volumes fur persistente Datenspeicherung verwendet (z. B. fur Datenbanken), sichern Sie Ihre Daten regelmassig. Sie konnen das manage.sh-Skript verwenden:

./manage.sh backup

Oder manuell Volumes sichern:

docker run --rm -v worklenz_db_volume:/data -v $(pwd):/backup ubuntu tar czf /backup/db_backup.tar.gz /data
  • Docker-Ressourcenzuweisung:

Passen Sie die Ressourcenzuweisung (CPU und Arbeitsspeicher) in den Docker Desktop-Einstellungen (Windows/Mac) oder uber Docker-Daemon-Konfigurationen (Linux) an, um einen reibungslosen Betrieb der App zu gewahrleisten.

  • Abhangigkeiten aktualisieren:

Wenn Anwendungsabhangigkeiten veraltet sind, sollten Sie diese aktualisieren. Fur Node.js-Anwendungen konnen Abhangigkeiten innerhalb von Containern mit Paketmanagern (npm, yarn usw.) aktualisiert werden.

  • Ungenutzte Ressourcen bereinigen:

Um Festplattenspeicher freizugeben, entfernen Sie regelmassig ungenutzte Docker-Objekte:

docker system prune -a
Vorsicht! Dieser Befehl loscht ungenutzte Images und Volumes, was dazu fuhren kann, dass nicht gespeicherte Daten verloren gehen. Stellen Sie immer sicher, dass Sie wichtige Daten gesichert haben, bevor Sie diesen Befehl ausfuhren.
  • Benutzerdefinierte Ports:

Wenn Sie mehrere Instanzen von Worklenz auf derselben Maschine ausfuhren mussen, andern Sie die Ports in der docker-compose.yml-Datei, um Konflikte zu vermeiden. Andern Sie z. B. Port 3000 auf 3100 fur das Backend.

  • Protokolle uberwachen:

Um Container-Protokolle in Echtzeit fur das Debugging zu uberwachen, verwenden Sie:

docker compose logs -f
  • SSL/HTTPS-Konfiguration:

Konfigurieren Sie fur Produktionsbereitstellungen ordnungsgemas SSL-Zertifikate. Verwenden Sie das manage.sh-Skript, um SSL zu verwalten:

./manage.sh ssl

Fur die Let’s Encrypt-Integration folgen Sie dem Einrichtungsassistenten, um HTTPS automatisch zu konfigurieren.

Abschluss: Vereinfachen Sie Ihre Bereitstellung mit Docker

Die Bereitstellung von Worklenz mit Docker vereinfacht den Bereitstellungsprozess und beseitigt die Komplexitaten traditioneller Installationsmethoden. Mit dem automatisierten quick-setup.sh-Skript und Docker Compose konnen Sie in wenigen Befehlen eine voll funktionsfahige, produktionsbereite Instanz von Worklenz zum Laufen bringen.

Ob Sie die Schnelleinrichtungsmethode fur Einfachheit oder die manuelle Methode fur mehr Kontrolle wahlen, Docker bietet die Flexibilitat und Zuverlassigkeit, die fur modernes Projektmanagement benotigt wird. Mit einfacher Skalierung, effizienter Ressourcenverwaltung und der Moglichkeit, verschiedene Bereitstellungsprofile zu verwenden (Express-Modus mit MinIO oder erweiterter Modus mit externem Cloud-Speicher), eignen sich Docker-Bereitstellungen fur Startups, wachsende Teams und Unternehmen gleichermasen.

Das manage.sh-Skript bietet einfachen Zugriff auf allgemeine Operationen wie das Uberprufen des Status, das Anzeigen von Protokollen, das Verwalten von Backups und das Konfigurieren von SSL-Zertifikaten.

Bereit loszulegen?

Lassen Sie sich von Bereitstellungsherausforderungen nicht aufhalten. Hier ist Ihr Schnellstart:

  1. Das Repository klonen: git clone https://github.com/Worklenz/worklenz.git
  2. Die Einrichtung ausfuhren: ./quick-setup.sh
  3. Die Dienste starten: docker compose --profile express up -d
  4. Auf Ihre Instanz zugreifen: http://localhost

Machen Sie den ersten Schritt zu einem reibungsloseren, effizienteren Projektmanagement-Erlebnis. Laden Sie Worklenz von unserem GitHub-Repository herunter und beginnen Sie Ihre Reise zu gesteigerter Produktivitat.

Brauchen Sie Hilfe? Unser Team ist fur Sie da. Kontaktieren Sie uns fur jede Unterstuzung oder Anfragen, oder schauen Sie in die offizielle Dokumentation fur weitere Details. Sie konnen auch unserer Discord-Community beitreten fur Echtzeit-Support und Diskussionen mit anderen Worklenz-Nutzern.