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:
| Anforderung | Version |
|---|---|
| Node.js | v18 oder neuer |
| PostgreSQL | v15 oder neuer |
| Docker und Docker Compose | Neueste stabile Version |
| Git | Beliebige 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
git clone https://github.com/Worklenz/worklenz.gitcd worklenz./quick-setup.shDas 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:
| Dienst | URL |
|---|---|
| Worklenz-Anwendung | https://localhost oder http://localhost |
| MinIO-Konsole | http://localhost:9001 |
Manuelles Docker-Setup
Wenn Sie es lieber selbst konfigurieren mochten:
cp .env.example .env# Bearbeiten Sie .env mit den erforderlichen Wertendocker compose --profile express up -dManuelle Installation (Entwicklung)
Verwenden Sie diesen Ansatz, wenn Sie Worklenz lokal fur Entwicklung oder Tests ohne Docker ausfuhren mochten.
1. Repository klonen:
git clone https://github.com/Worklenz/worklenz.gitcd worklenz2. Umgebung konfigurieren:
cp worklenz-backend/.env.template worklenz-backend/.env3. Abhangigkeiten installieren:
cd worklenz-backend && npm installcd ../worklenz-frontend && npm install4. Datenbank initialisieren:
Fuhren Sie die folgenden SQL-Dateien in der angegebenen Reihenfolge in Ihrer PostgreSQL-Datenbank aus:
psql -U ihr_benutzername -d worklenz_db -f database/sql/0_extensions.sqlpsql -U ihr_benutzername -d worklenz_db -f database/sql/1_tables.sqlpsql -U ihr_benutzername -d worklenz_db -f database/sql/indexes.sqlpsql -U ihr_benutzername -d worklenz_db -f database/sql/4_functions.sqlpsql -U ihr_benutzername -d worklenz_db -f database/sql/triggers.sqlpsql -U ihr_benutzername -d worklenz_db -f database/sql/3_views.sqlpsql -U ihr_benutzername -d worklenz_db -f database/sql/2_dml.sqlpsql -U ihr_benutzername -d worklenz_db -f database/sql/5_database_user.sql5. Dienste starten:
Offnen Sie zwei Terminalfenster und fuhren Sie aus:
# Terminal 1 - Backendcd worklenz-backendnpm run dev:all
# Terminal 2 - Frontendcd worklenz-frontendnpm run devZugriff unter http://localhost:5000.
Produktionsbereitstellung
Schnelles Produktions-Setup
git clone https://github.com/Worklenz/worklenz.gitcd worklenz./quick-setup.sh# Geben Sie Ihre Produktionsdomain ein, wenn Sie dazu aufgefordert werden (z.B. worklenz.beispiel.com)Manuelle Produktionskonfiguration
1. Umgebungsdatei konfigurieren:
cp .env.example .envBearbeiten Sie .env und setzen Sie die folgenden Schlusselwerte:
DOMAIN=ihre-domain.comVITE_API_URL=https://ihre-domain.comVITE_SOCKET_URL=wss://ihre-domain.comENABLE_SSL=trueLETSENCRYPT_EMAIL=ihre-email@domain.comGenerieren Sie auch sichere Geheimnisse fur DB_PASSWORD, SESSION_SECRET und andere sensible Variablen:
openssl rand -hex 322. Richten Sie Ihren DNS-A-Eintrag auf die IP Ihres Servers aus.
3. Mit SSL starten:
docker compose --profile express --profile ssl up -dZugriff auf Ihre Instanz unter https://ihre-domain.com.
Konfiguration
Wichtige Umgebungsvariablen
| Variable | Zweck |
|---|---|
DOMAIN | Ihre Domain (verwenden Sie localhost fur lokale Tests) |
DEPLOYMENT_MODE | express (gebundelte Dienste) oder advanced (externe Dienste) |
STORAGE_PROVIDER | s3 (MinIO oder AWS) oder azure |
ENABLE_SSL | true oder false fur SSL/TLS |
BACKUP_RETENTION_DAYS | Tage zur Aufbewahrung von Backups (Standard: 30) |
DB_PASSWORD | PostgreSQL-Passwort |
SESSION_SECRET | Sitzungsverschlusselungsschlussel |
Bereitstellungsmodi
Express-Modus (Standard) - enthalt PostgreSQL, Redis und MinIO gebundelt:
docker compose --profile express up -dErweiterter 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.
| Anbieter | Details |
|---|---|
| MinIO (Standard) | S3-kompatibel, im Docker-Setup enthalten. Konsole unter http://localhost:9001 (Zugangsdaten: minioadmin / minioadmin). Standard-Bucket: worklenz-bucket (wird automatisch erstellt). |
| AWS S3 | Setzen Sie STORAGE_PROVIDER=s3 und konfigurieren Sie AWS-Anmeldedaten in .env. |
| Azure Blob Storage | Setzen Sie STORAGE_PROVIDER=azure und konfigurieren Sie Azure-Anmeldedaten in .env. |
Verwaltungsbefehle
Verwenden Sie das Skript manage.sh zur Verwaltung Ihrer Worklenz-Instanz:
./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 generierenBackups
Automatische Backups aktivieren
docker compose --profile express --profile backup up -dManuelles Backup und Wiederherstellung
./manage.sh backup # Ein Backup erstellen./manage.sh restore # Aus einem Backup wiederherstellenSetzen 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.