Erweiterte Docker-Konfiguration für Devolutions Server
Dieser Artikel behandelt erweiterte Konfigurationsoptionen für die Docker-Bereitstellung von Devolutions Server, einschließlich einer vollständigen Referenz der Umgebungsvariablen, Zertifikatsverwaltung, Performance-Tuning und Sicherheitshärtung.
Referenz der Umgebungsvariablen
Variablen für die Datenbankverbindung
DATABASE_HOST
Ja
—
SQL Server-Hostname. Für nicht standardmäßige Ports verwenden Sie das Format host,port (z. B. sql.example.com,1433).
AZURE_SQL_HOST
Ja*
—
Alias für DATABASE_HOST (Azure-spezifische Benennung).
DATABASE_NAME
Ja
—
Name der Devolutions Server-Datenbank.
AZURE_SQL_DATABASE
Ja*
—
Alias für DATABASE_NAME.
DATABASE_USERNAME
Ja
—
Benutzername für die SQL-Authentifizierung (verwenden Sie ein Konto mit minimalen Rechten und db_owner für die Devolutions Server-Datenbank).
AZURE_SQL_USERNAME
Ja*
—
Alias für DATABASE_USERNAME.
DATABASE_PASSWORD
Ja
—
Passwort für die SQL-Authentifizierung (als Geheimnis behandeln, Docker-Secrets oder Azure Key Vault verwenden).
AZURE_SQL_PASSWORD
Ja*
—
Alias für DATABASE_PASSWORD.
DATABASE_PORT
Nein
1433
SQL Server-Port (wird an den Host angehängt, sofern nicht bereits in DATABASE_HOST angegeben).
AZURE_SQL_PORT
Nein
1433
Alias für DATABASE_PORT.
DATABASE_ENCRYPT
Nein
false
Auf true setzen, um die Verbindung zum SQL Server zu verschlüsseln (TLS). Erforderlich, wenn der SQL Server Verschlüsselung erzwingt. Wird bei jedem Containerstart gelesen — geben Sie es bei jedem docker run an.
DATABASE_TRUST_SERVER_CERTIFICATE
Nein
false
Auf true setzen, um dem Zertifikat des SQL Servers ohne Validierung zu vertrauen. Verwenden Sie dies mit DATABASE_ENCRYPT=true, wenn der Server ein selbstsigniertes Zertifikat vorweist (z. B. SQL Server 2022 in einem Container).
Webserver-Konfiguration
HOSTNAME
Nein
localhost
Server-Hostname (wird auf Azure durch WEBSITE_HOSTNAME überschrieben).
WEB_SCHEME
Nein
http
Protokoll: http oder https. Auf https setzen, um TLS zu aktivieren.
WEB_PORT / PORT
Nein
5000
Port, auf dem der Container lauscht.
EXTERNAL_WEB_SCHEME
Nein
Entspricht WEB_SCHEME
Externes Protokoll bei Betrieb hinter einem Reverse Proxy (z. B. https, wenn der Proxy TLS verarbeitet).
EXTERNAL_WEB_PORT
Nein
Entspricht WEB_PORT
Externer Port bei Betrieb hinter einem Reverse Proxy (z. B. 443 für Standard-HTTPS).
TLS-Zertifikatskonfiguration
TLS_CERTIFICATE_FILE
Nein*
—
Pfad zur eingebundenen PEM-Zertifikatsdatei (z. B. /opt/devolutions/dvls/certs/server.pem)
TLS_PRIVATE_KEY_FILE
Nein*
—
Pfad zur eingebundenen PEM-Datei mit privatem Schlüssel (z. B. /opt/devolutions/dvls/certs/server.key)
TLS_CERTIFICATE_B64
Nein*
—
Base64-kodierter Zertifikatsinhalt (wird in App_Data/server.pem geschrieben)
TLS_PRIVATE_KEY_B64
Nein*
—
Base64-kodierter Inhalt des privaten Schlüssels (wird in App_Data/server.key geschrieben)
Konfiguration des Betriebsmodus
DVLS_INIT
Nein
false
Auf true setzen, um den Initialisierungsmodus auszuführen (erstellt Schema und Administratorbenutzer und beendet sich dann).
DVLS_UPDATE_MODE
Nein
false
Auf true setzen, um den Aktualisierungsmodus auszuführen (erstellt eine Sicherung, migriert die Datenbank und beendet sich dann).
DVLS_BACKUP_PATH
Nein
/tmp/dvls-backup
Backup-Speicherort während Updates (Volume einbinden, um Backups zu erhalten).
Variablen des Initialisierungsmodus
Diese Variablen werden nur während der Initialisierung verwendet (DVLS_INIT=true):
DVLS_ADMIN_USERNAME
Nein
dvls-admin
Während der Initialisierung erstellter Benutzername des Administratorkontos.
DVLS_ADMIN_PASSWORD
Nein
dvls-admin
Passwort des Administratorkontos. MUSS in der Produktion geändert werden!
DVLS_ADMIN_EMAIL
Nein
admin@<HOSTNAME>
E-Mail-Adresse des Administratorkontos
Systemkonfiguration
DVLS_PATH
Nein
/opt/devolutions/dvls
Installations-Root-Pfad (Speicherort von appsettings und App_Data).
DVLS_EXECUTABLE_PATH
Nein
/opt/devolutions/dvls/Devolutions.Server
Pfad zur ausführbaren Programmdatei von Devolutions Server im Runtime-Modus.
DVLS_TELEMETRY
Nein
true
Telemetrieerfassung aktivieren/deaktivieren.
DVLS_ENCRYPTION_CONFIG_B64
Nein
—
Base64-codierte Verschlüsselungskonfiguration (erforderlich für konsistente Verschlüsselung über skalierte Instanzen hinweg).
SSH-Zugriffskonfiguration
SSH_ENABLED
Nein
false
SSH-Daemon zum Debuggen aktivieren (auf Azure automatisch aktiviert, sofern nicht explizit deaktiviert),
SSH_PORT
Nein
2222
SSH-Listen-Port (veröffentlichen mit -p 2222:2222),
SSH_PASSWORD
Ja*
Docker!
Root-Passwort für SSH (ERFORDERLICH, wenn SSH_ENABLED=true, MUSS in der Produktion geändert werden!
Azure Web App-Variablen
Diese Variablen werden automatisch von Azure App Service gesetzt:
WEBSITE_HOSTNAME
Azure
Überschreibt HOSTNAME (z. B. dvls-prod.azurewebsites.net)
WEBSITE_INSTANCE_ID
Azure
Vorhandensein erzwingt EXTERNAL_WEB_SCHEME=https und EXTERNAL_WEB_PORT=443, aktiviert SSH automatisch
TLS-Zertifikatskonfiguration
Automatisch generiertes selbstsigniertes Zertifikat
Wenn WEB_SCHEME=https ohne Zertifikatsvariablen verwendet wird, generiert Devolutions Server ein selbstsigniertes Zertifikat (gültig ~5 Jahre, 2048-Bit-RSA, CN=hostname):
Nur für Entwicklung und Tests. Browser zeigen Sicherheitswarnungen an.
Zertifikatsdateien über Volume-Einbindung
Zertifikatsdateien vom Host einbinden:
Anforderungen an das Zertifikatsformat:
Zertifikat: PEM-Format (
.pem,.crt)Privater Schlüssel: PEM-Format (
.key,.pem)Kette: Zwischenzertifikate in die Zertifikatsdatei einschließen
Beispiel einer Zertifikatsdatei mit Kette:
Base64-codierte Zertifikate
Verwenden Sie Base64-codierte Zertifikate, wenn Sie mit Systemen zur Verwaltung von Geheimnissen arbeiten (Azure Key Vault, Kubernetes Secrets):
Zertifikat und privater Schlüssel werden nach /opt/devolutions/dvls/App_Data/ geschrieben und in der Devolutions Server-Konfiguration referenziert.
Datenbankkonfiguration
Format der Verbindungszeichenfolge
Devolutions Server erstellt die SQL Server-Verbindungszeichenfolge aus Umgebungsvariablen:
Standardport (1433)
Oder lassen Sie DATABASE_PORT weg (Standardwert 1433):
Oder lassen Sie DATABASE_PORT weg (Standardwert 1433):
Oder lassen Sie DATABASE_PORT weg (Standardwert 1433):
Nicht-Standardport
Option 1: Port im Hostnamen angeben:
Option 2: Separate Port-Variable:
Option 1: Port im Hostnamen angeben:
Option 2: Separate Port-Variable:
Option 1: Port im Hostnamen angeben:
Option 2: Separate Port-Variable:
Azure SQL-Datenbank
Verschlüsselte Datenbankverbindung (TLS)
Standardmäßig verbindet sich Devolutions Server ohne TLS mit SQL Server. Wenn Ihr SQL Server Verschlüsselung erzwingt (zum Beispiel SQL Server 2022, das standardmäßig TLS erfordert, oder eine Instanz mit aktivierter Option "Force Encryption"), schlägt die Verbindung fehl, sofern Sie die Verschlüsselung nicht auf der Clientseite aktivieren.
Diese Variablen werden bei jedem Containerstart gelesen, nicht nur während der Initialisierung. Die SQL-Verbindungszeichenfolge wird bei jedem Start daraus neu generiert, geben Sie sie daher bei jedem docker run an — Initialisierung, Runtime und Update. Werden sie zur Laufzeit weggelassen, wird die Verbindungszeichenfolge mit deaktivierter Verschlüsselung neu geschrieben und die Verbindung schlägt fehl.
SQL Server mit einem CA-vertrauenswürdigen Zertifikat
DATABASE_ENCRYPT=true
SQL Server mit einem selbstsignierten Zertifikat (z. B. containerisierter SQL Server 2022)
DATABASE_ENCRYPT=true und DATABASE_TRUST_SERVER_CERTIFICATE=true
Das Setzen von DATABASE_TRUST_SERVER_CERTIFICATE=true deaktiviert die Zertifikatsvalidierung. Verwenden Sie es nur mit selbstsignierten Zertifikaten in vertrauenswürdigen Netzwerken; installieren Sie für die Produktion ein CA-vertrauenswürdiges Zertifikat auf SQL Server und setzen Sie nur DATABASE_ENCRYPT=true.
SQL Server-Authentifizierung vs. Windows-Authentifizierung
Devolutions Server Docker-Container unterstützen nur die SQL Server-Authentifizierung (Benutzername/Passwort). Windows-Authentifizierung (Integrated Security) wird in Linux-Containern nicht unterstützt.
Reverse-Proxy-Konfiguration
Wenn Devolutions Server hinter einem Reverse Proxy, nginx Ingress oder Azure App Service läuft, konfigurieren Sie die Einstellungen für die externe URL:
Wichtige Einstellungen:
WEB_SCHEME=http- Container verwendet HTTPEXTERNAL_WEB_SCHEME=https- Öffentliche URL ist HTTPSEXTERNAL_WEB_PORT=443- Standard-HTTPS-Port (in URLs weggelassen)HOSTNAME=devolutions-server.company.com- Öffentlicher Hostname
Devolutions Server generiert URLs wie https://devolutions-server.company.com/ in der Benutzeroberfläche und in API-Antworten.
Sicherheitshärtung
Verwaltung von Geheimnissen
Hardcodieren Sie Passwörter NICHT in docker run-Befehlen oder Compose-Dateien.
Docker Secrets (Swarm-Modus)
Umgebungsdateien
Docker Secrets (Swarm-Modus)
Umgebungsdateien
Docker Secrets (Swarm-Modus)
Umgebungsdateien
Azure Key Vault
Verwenden Sie Managed Identity, um Geheimnisse zur Laufzeit aus Key Vault abzurufen. Weitere Details finden Sie unter Devolutions Server deployment to Azure App Service using a container.
Netzwerkisolierung
Verwenden Sie Docker-Netzwerke, um Devolutions Server zu isolieren:
SSH-Zugriff
Deaktivieren Sie SSH in der Produktion, sofern es nicht zum Debuggen benötigt wird:
Wenn SSH aktiviert ist:
Verwenden Sie starke Passwörter.
Ändern Sie das Standardpasswort.
Beschränken Sie den Zugriff mit Firewall-Regeln.
Erwägen Sie die SSH-Schlüsselauthentifizierung (erfordert ein benutzerdefiniertes Image).
Versionsaktualisierungen
Versionskennzeichnung
Images werden nach Release-Version (z. B.
release-2025.3,release-2026.1) und nach spezifischem Build (z. B.2025.3.1.0,2025.3.2.0) getaggt.Es existiert kein
latest-Tag - geben Sie immer eine Version an.Minor-/Patch-Aktualisierungen innerhalb derselben Release-Version sind beim Pullen des Release-Tags automatisch enthalten.
Der Datenbankaktualisierungsmodus ist nur beim Wechsel von Hauptversionen erforderlich (z. B.
release-2025.3→release-2026.1).
Aktualisierung der Hauptversion
Minor-/Patch-Aktualisierung (z. B. 2025.3.1 auf 2025.3.2)
Aktualisierung der Hauptversion
Minor-/Patch-Aktualisierung (z. B. 2025.3.1 auf 2025.3.2)
Aktualisierung der Hauptversion
Minor-/Patch-Aktualisierung (z. B. 2025.3.1 auf 2025.3.2)
Sicherheits-Checkliste
Konsultieren Sie Devolutions Server security hardening für:
Einstellungen für Administrationskonten
Passwortrichtlinien
Multifaktor-Authentifizierung
IP-Einschränkungen
Audit-Protokollierung
Verschlüsselungseinstellungen
Siehe auch
Zuletzt aktualisiert
War das hilfreich?