Zum Inhalt springen
Try for Free

Worklenz selbst hosten

Worklenz ist vollstandig Open-Source und kann auf Ihren eigenen Servern gehostet werden, sodass Sie die vollstandige Kontrolle uber Ihre Daten und Infrastruktur haben. Diese Anleitung deckt alles ab, was Sie benotigen, um Worklenz auf Ihrem eigenen Rechner oder Produktionsserver zum Laufen zu bringen.

Voraussetzungen

Stellen Sie vor dem Start sicher, dass Folgendes installiert ist:

AnforderungVersion
Node.jsv18 oder neuer
PostgreSQLv15 oder neuer
Docker und Docker ComposeNeueste stabile Version
GitBeliebige aktuelle Version

Schnellstart mit Docker (empfohlen)

Docker ist der schnellste und zuverlassigste Weg, Worklenz zum Laufen zu bringen. Das automatische Setup-Skript ubernimmt Konfiguration, Sicherheitsschlussel und SSL fur Sie.

Automatisches Setup

Terminal-Fenster
git clone https://github.com/Worklenz/worklenz.git
cd worklenz
./quick-setup.sh

Das Skript erledigt automatisch:

  • Erstellt eine .env-Datei mit generierten Sicherheitsgeheimnissen
  • Konfiguriert URLs fur Ihre Domain
  • Richtet SSL-Zertifikate ein (selbstsigniert lokal, Let’s Encrypt fur Produktion)
  • Startet alle Dienste

Zugriffspunkte nach dem Setup:

DienstURL
Worklenz-Anwendunghttps://localhost oder http://localhost
MinIO-Konsolehttp://localhost:9001

Manuelles Docker-Setup

Wenn Sie es lieber selbst konfigurieren mochten:

Terminal-Fenster
cp .env.example .env
# Bearbeiten Sie .env mit den erforderlichen Werten
docker compose --profile express up -d

Manuelle Installation (Entwicklung)

Verwenden Sie diesen Ansatz, wenn Sie Worklenz lokal fur Entwicklung oder Tests ohne Docker ausfuhren mochten.

1. Repository klonen:

Terminal-Fenster
git clone https://github.com/Worklenz/worklenz.git
cd worklenz

2. Umgebung konfigurieren:

Terminal-Fenster
cp worklenz-backend/.env.template worklenz-backend/.env

3. Abhangigkeiten installieren:

Terminal-Fenster
cd worklenz-backend && npm install
cd ../worklenz-frontend && npm install

4. Datenbank initialisieren:

Fuhren Sie die folgenden SQL-Dateien in der angegebenen Reihenfolge in Ihrer PostgreSQL-Datenbank aus:

Terminal-Fenster
psql -U ihr_benutzername -d worklenz_db -f database/sql/0_extensions.sql
psql -U ihr_benutzername -d worklenz_db -f database/sql/1_tables.sql
psql -U ihr_benutzername -d worklenz_db -f database/sql/indexes.sql
psql -U ihr_benutzername -d worklenz_db -f database/sql/4_functions.sql
psql -U ihr_benutzername -d worklenz_db -f database/sql/triggers.sql
psql -U ihr_benutzername -d worklenz_db -f database/sql/3_views.sql
psql -U ihr_benutzername -d worklenz_db -f database/sql/2_dml.sql
psql -U ihr_benutzername -d worklenz_db -f database/sql/5_database_user.sql

5. Dienste starten:

Offnen Sie zwei Terminalfenster und fuhren Sie aus:

Terminal-Fenster
# Terminal 1 - Backend
cd worklenz-backend
npm run dev:all
# Terminal 2 - Frontend
cd worklenz-frontend
npm run dev

Zugriff unter http://localhost:5000.


Produktionsbereitstellung

Schnelles Produktions-Setup

Terminal-Fenster
git clone https://github.com/Worklenz/worklenz.git
cd worklenz
./quick-setup.sh
# Geben Sie Ihre Produktionsdomain ein, wenn Sie dazu aufgefordert werden (z.B. worklenz.beispiel.com)

Manuelle Produktionskonfiguration

1. Umgebungsdatei konfigurieren:

Terminal-Fenster
cp .env.example .env

Bearbeiten Sie .env und setzen Sie die folgenden Schlusselwerte:

DOMAIN=ihre-domain.com
VITE_API_URL=https://ihre-domain.com
VITE_SOCKET_URL=wss://ihre-domain.com
ENABLE_SSL=true
LETSENCRYPT_EMAIL=ihre-email@domain.com

Generieren Sie auch sichere Geheimnisse fur DB_PASSWORD, SESSION_SECRET und andere sensible Variablen:

Terminal-Fenster
openssl rand -hex 32

2. Richten Sie Ihren DNS-A-Eintrag auf die IP Ihres Servers aus.

3. Mit SSL starten:

Terminal-Fenster
docker compose --profile express --profile ssl up -d

Zugriff auf Ihre Instanz unter https://ihre-domain.com.


Konfiguration

Wichtige Umgebungsvariablen

VariableZweck
DOMAINIhre Domain (verwenden Sie localhost fur lokale Tests)
DEPLOYMENT_MODEexpress (gebundelte Dienste) oder advanced (externe Dienste)
STORAGE_PROVIDERs3 (MinIO oder AWS) oder azure
ENABLE_SSLtrue oder false fur SSL/TLS
BACKUP_RETENTION_DAYSTage zur Aufbewahrung von Backups (Standard: 30)
DB_PASSWORDPostgreSQL-Passwort
SESSION_SECRETSitzungsverschlusselungsschlussel

Bereitstellungsmodi

Express-Modus (Standard) - enthalt PostgreSQL, Redis und MinIO gebundelt:

Terminal-Fenster
docker compose --profile express up -d

Erweiterter Modus - verwenden Sie externe Dienste wie AWS S3, Azure Blob Storage oder eine externe PostgreSQL-Instanz:

Setzen Sie DEPLOYMENT_MODE=advanced in Ihrer .env-Datei vor dem Start.


Speicherkonfiguration

Worklenz verwendet standardmassig MinIO fur die Dateispeicherung, unterstutzt aber mehrere Storage-Backends.

AnbieterDetails
MinIO (Standard)S3-kompatibel, im Docker-Setup enthalten. Konsole unter http://localhost:9001 (Zugangsdaten: minioadmin / minioadmin). Standard-Bucket: worklenz-bucket (wird automatisch erstellt).
AWS S3Setzen Sie STORAGE_PROVIDER=s3 und konfigurieren Sie AWS-Anmeldedaten in .env.
Azure Blob StorageSetzen Sie STORAGE_PROVIDER=azure und konfigurieren Sie Azure-Anmeldedaten in .env.

Verwaltungsbefehle

Verwenden Sie das Skript manage.sh zur Verwaltung Ihrer Worklenz-Instanz:

Terminal-Fenster
./manage.sh status # Dienststatus anzeigen
./manage.sh logs # Protokolle anzeigen
./manage.sh backup # Datenbank-Backup erstellen
./manage.sh restore # Aus einem Backup wiederherstellen
./manage.sh stop # Alle Dienste stoppen
./manage.sh start # Alle Dienste starten
./manage.sh ssl # SSL-Zertifikate verwalten
./manage.sh upgrade # Auf die neueste Version aktualisieren
./manage.sh auto-configure # Geheimnisse automatisch generieren

Backups

Automatische Backups aktivieren

Terminal-Fenster
docker compose --profile express --profile backup up -d

Manuelles Backup und Wiederherstellung

Terminal-Fenster
./manage.sh backup # Ein Backup erstellen
./manage.sh restore # Aus einem Backup wiederherstellen

Setzen Sie BACKUP_RETENTION_DAYS in Ihrer .env-Datei, um zu steuern, wie lange Backups aufbewahrt werden.


Sicherheits-Best-Practices

Worklenz enthalt mehrere eingebaute Sicherheitsfunktionen:

  • Container ohne Root-Rechte (alle Dienste laufen als nicht privilegierte Benutzer)
  • Netzwerkisolierung (das Backend-Netzwerk ist nur intern)
  • SSL/TLS-Unterstutzung (Let’s Encrypt fur Produktion, selbstsigniert fur localhost)
  • Ratenbegrenzung fur API- und Anmelde-Endpunkte
  • Sicherheits-Header (HSTS, CSP, X-Frame-Options)
  • Automatisch generierte sichere Geheimnisse

Video-Anleitungen

Schritt-fur-Schritt-Video-Anleitungen sind verfugbar, wenn Sie eine visuelle Fuhrung bevorzugen:


Lizenz

Worklenz wird unter der GNU Affero General Public License v3 (AGPLv3) veroffentlicht.

Fur eine detaillierte Docker-Bereitstellungsdokumentation lesen Sie die Datei DOCKER_SETUP.md im Repository. Um Sicherheitsschwachstellen zu melden, wenden Sie sich an info@worklenz.com.