For the complete documentation index, see llms.txt. This page is also available as Markdown.

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

Variable
Erforderlich
Standard
Beschreibung

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).

Mit * markierte Variablen sind Aliase. Verwenden Sie entweder die Standard- oder die Azure-spezifische Benennung, nicht beide.

Webserver-Konfiguration

Variable
Erforderlich
Standard
Beschreibung

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

Variable
Erforderlich
Standard
Beschreibung

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)

Wenn WEB_SCHEME=https gesetzt ist und kein Zertifikat bereitgestellt wird, wird automatisch ein selbstsigniertes Zertifikat erzeugt (gültig ~5 Jahre, 2048-Bit-RSA). Verwenden Sie Datei-Mounts oder Base64-Variablen für Produktionszertifikate.

Konfiguration des Betriebsmodus

DVLS_INIT und DVLS_UPDATE_MODE schließen sich gegenseitig aus. Beide auf true zu setzen führt zu einem Fehler.

Variable
Erforderlich
Standard
Beschreibung

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):

Variable
Erforderlich
Standard
Beschreibung

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

Variable
Erforderlich
Standard
Beschreibung

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

Variable
Erforderlich
Standard
Beschreibung

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!

Wenn SSH_ENABLED=true ohne SSH_PASSWORD gesetzt ist, verweigert der Container aus Sicherheitsgründen den Start.

Azure Web App-Variablen

Diese Variablen werden automatisch von Azure App Service gesetzt:

Variable
Gesetzt von
Beschreibung

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):

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.

Szenario
Erforderliche Variablen

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

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 HTTP

  • EXTERNAL_WEB_SCHEME=https - Öffentliche URL ist HTTPS

  • EXTERNAL_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

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.3release-2026.1).

Version 2026.1 dient der Veranschaulichung; ersetzen Sie sie beim Aktualisieren durch die tatsächlich neueste Hauptversion.

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?