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

Configuration Docker avancée pour Devolutions Server

Cet article couvre les options de configuration avancées pour le déploiement Docker de Devolutions Server, notamment la référence complète des variables d'environnement, la gestion des certificats, l'optimisation des performances et le renforcement de la sécurité.

Référence des variables d'environnement

Variables de connexion à la base de données

Variable
Requis
Par défaut
Description

DATABASE_HOST

Oui

Nom d'hôte du serveur SQL. Pour les ports non standard, utilisez le format host,port (p. ex., sql.example.com,1433).

AZURE_SQL_HOST

Oui*

Alias de DATABASE_HOST (nomenclature spécifique à Azure).

DATABASE_NAME

Oui

Nom de la base de données Devolutions Server.

AZURE_SQL_DATABASE

Oui*

Alias de DATABASE_NAME.

DATABASE_USERNAME

Oui

Nom d'utilisateur pour l'authentification SQL (utilisez un compte avec le minimum de privilèges et db_owner sur la base de données Devolutions Server).

AZURE_SQL_USERNAME

Oui*

Alias de DATABASE_USERNAME.

DATABASE_PASSWORD

Oui

Mot de passe pour l'authentification SQL (à traiter comme un secret ; utilisez Docker secrets ou Azure Key Vault).

AZURE_SQL_PASSWORD

Oui*

Alias de DATABASE_PASSWORD.

DATABASE_PORT

Non

1433

Port du serveur SQL (ajouté à l'hôte s'il n'est pas déjà spécifié dans DATABASE_HOST).

AZURE_SQL_PORT

Non

1433

Alias de DATABASE_PORT.

Les variables marquées d'un * sont des alias. Utilisez la nomenclature standard ou la nomenclature spécifique à Azure, mais pas les deux.

Configuration du serveur web

Variable
Requis
Par défaut
Description

HOSTNAME

Non

localhost

Nom d'hôte du serveur (remplacé par WEBSITE_HOSTNAME sur Azure).

WEB_SCHEME

Non

http

Protocole : http ou https. Définissez à https pour activer TLS.

WEB_PORT / PORT

Non

5000

Port d'écoute du conteneur.

EXTERNAL_WEB_SCHEME

Non

Miroir de WEB_SCHEME

Protocole externe lorsque derrière un proxy inverse (p. ex., https lorsque le proxy gère TLS).

EXTERNAL_WEB_PORT

Non

Miroir de WEB_PORT

Port externe lorsque derrière un proxy inverse (p. ex., 443 pour HTTPS standard).

Configuration des certificats TLS

Variable
Requis
Par défaut
Description

TLS_CERTIFICATE_FILE

Non*

Chemin vers le fichier de certificat PEM monté (p. ex., /opt/devolutions/dvls/certs/server.pem)

TLS_PRIVATE_KEY_FILE

Non*

Chemin vers le fichier de clé privée PEM monté (p. ex., /opt/devolutions/dvls/certs/server.key)

TLS_CERTIFICATE_B64

Non*

Contenu du certificat encodé en base64 (écrit dans App_Data/server.pem)

TLS_PRIVATE_KEY_B64

Non*

Contenu de la clé privée encodé en base64 (écrit dans App_Data/server.key)

Si WEB_SCHEME=https et qu'aucun certificat n'est fourni, un certificat auto-signé est généré automatiquement (valide ~5 ans, RSA 2048 bits). Utilisez des montages de fichiers ou des variables base64 pour les certificats de production.

Configuration du mode de fonctionnement

DVLS_INIT et DVLS_UPDATE_MODE sont mutuellement exclusifs. Définir les deux à true entraînera une erreur.

Variable
Requis
Par défaut
Description

DVLS_INIT

Non

false

Définissez à true pour exécuter le mode d'initialisation (crée le schéma, l'utilisateur admin, puis se termine).

DVLS_UPDATE_MODE

Non

false

Définissez à true pour exécuter le mode de mise à jour (sauvegarde, migre la base de données, puis se termine).

DVLS_BACKUP_PATH

Non

/tmp/dvls-backup

Emplacement de sauvegarde lors des mises à jour (montez un volume pour conserver les sauvegardes).

Variables du mode d'initialisation

Ces variables ne sont utilisées que lors de l'initialisation (DVLS_INIT=true) :

Variable
Requis
Par défaut
Description

DVLS_ADMIN_USERNAME

Non

dvls-admin

Nom d'utilisateur du compte administrateur créé lors de l'initialisation.

DVLS_ADMIN_PASSWORD

Non

dvls-admin

Mot de passe du compte administrateur. DOIT être modifié en production !

DVLS_ADMIN_EMAIL

Non

admin@<HOSTNAME>

Adresse courriel du compte administrateur.

Configuration système

Variable
Requis
Par défaut
Description

DVLS_PATH

Non

/opt/devolutions/dvls

Chemin racine de l'installation (emplacement d'appsettings et App_Data).

DVLS_EXECUTABLE_PATH

Non

/opt/devolutions/dvls/Devolutions.Server

Chemin de l'exécutable Devolutions Server en mode d'exécution.

DVLS_TELEMETRY

Non

true

Activer/désactiver la collecte de télémétrie.

DVLS_ENCRYPTION_CONFIG_B64

Non

Configuration de chiffrement encodée en base64 (requise pour un chiffrement cohérent entre les instances à l'échelle).

Configuration de l'accès SSH

Variable
Requis
Par défaut
Description

SSH_ENABLED

Non

false

Active le démon SSH pour le débogage (activé automatiquement sur Azure sauf si explicitement désactivé).

SSH_PORT

Non

2222

Port d'écoute SSH (publiez avec -p 2222:2222).

SSH_PASSWORD

Oui*

Docker!

Mot de passe root pour SSH (REQUIS si SSH_ENABLED=true, DOIT être modifié en production !

Si SSH_ENABLED=true sans SSH_PASSWORD, le conteneur refusera de démarrer pour des raisons de sécurité.

Variables Azure Web App

Ces variables sont automatiquement définies par Azure App Service :

Variable
Défini par
Description

WEBSITE_HOSTNAME

Azure

Remplace HOSTNAME (p. ex., dvls-prod.azurewebsites.net)

WEBSITE_INSTANCE_ID

Azure

La présence force EXTERNAL_WEB_SCHEME=https et EXTERNAL_WEB_PORT=443, et active automatiquement SSH.

Configuration des certificats TLS

Certificat auto-signé généré automatiquement

Lorsque WEB_SCHEME=https sans variables de certificat, Devolutions Server génère un certificat auto-signé (valide ~5 ans, RSA 2048 bits, CN=hostname) :

Fichiers de certificat via montage de volume

Montez les fichiers de certificat depuis l'hôte :

Exigences de format pour les certificats :

  • Certificat : format PEM (.pem, .crt)

  • Clé privée : format PEM (.key, .pem)

  • Chaîne : incluez les certificats intermédiaires dans le fichier de certificat

Exemple de fichier de certificat avec chaîne :

Certificats encodés en base64

Utilisez des certificats encodés en base64 lorsque vous travaillez avec des systèmes de gestion des secrets (Azure Key Vault, Kubernetes Secrets) :

Le certificat et la clé privée sont écrits dans /opt/devolutions/dvls/App_Data/ et référencés dans la configuration de Devolutions Server.

Configuration de la base de données

Format de la chaîne de connexion

Devolutions Server construit la chaîne de connexion SQL Server à partir des variables d'environnement :

Port standard (1433)

Ou omettez DATABASE_PORT (1433 par défaut) :

Port non standard

Option 1 : Inclure le port dans le nom d'hôte :

Option 2 : Variable de port séparée :

Base de données Azure SQL

Authentification SQL Server vs authentification Windows

Les conteneurs Docker de Devolutions Server prennent uniquement en charge l'authentification SQL Server (nom d'utilisateur/mot de passe). L'authentification Windows (sécurité intégrée) n'est pas prise en charge dans les conteneurs Linux.

Configuration du proxy inverse

Lorsque Devolutions Server s'exécute derrière un proxy inverse, un ingress nginx ou Azure App Service, configurez les paramètres d'URL externe :

Paramètres clés :

  • WEB_SCHEME=http - Le conteneur utilise HTTP

  • EXTERNAL_WEB_SCHEME=https - L'URL publique est HTTPS

  • EXTERNAL_WEB_PORT=443 - Port HTTPS standard (omis dans les URL)

  • HOSTNAME=devolutions-server.company.com - Nom d'hôte public

Devolutions Server génère des URL telles que https://devolutions-server.company.com/ dans l'interface et les réponses API.

Renforcement de la sécurité

Gestion des secrets

Docker Secrets (mode Swarm)

Fichiers d'environnement

Azure Key Vault

Utilisez Managed Identity pour récupérer les secrets depuis Key Vault au moment de l'exécution. Consultez Devolutions Server deployment to Azure App Service using a container pour plus de détails.

Isolation réseau

Utilisez les réseaux Docker pour isoler Devolutions Server :

Accès SSH

Désactivez SSH en production sauf si cela est nécessaire pour le débogage :

Si SSH est activé :

  • Utilisez des mots de passe robustes.

  • Modifiez le mot de passe par défaut.

  • Restreignez l'accès avec des règles de pare-feu.

  • Envisagez l'authentification par clé SSH (nécessite une image personnalisée).

Mises à jour de version

Étiquetage des versions

  • Les images sont étiquetées par version de publication (p. ex., release-2025.3, release-2026.1) et par build spécifique (p. ex., 2025.3.1.0, 2025.3.2.0).

  • Il n'existe pas d'étiquette latest — spécifiez toujours une version.

  • Les mises à jour mineures/correctives au sein de la même version de publication sont automatiquement incluses lors de l'extraction de l'étiquette de publication.

  • Le mode de mise à jour de la base de données n'est requis que lors du changement de versions majeures (p. ex., release-2025.3release-2026.1).

La version 2026.1 est utilisée à titre d'illustration ; remplacez-la par la dernière version majeure réelle lors des mises à jour.

Mise à jour de version majeure

Mise à jour mineure/corrective (p. ex., 2025.3.1 à 2025.3.2)

Liste de contrôle de sécurité

Consultez Devolutions Server security hardening pour :

  • Paramètres des comptes d'administration

  • Politiques de mot de passe

  • Authentification multifacteur

  • Restrictions par adresse IP

  • Journalisation des audits

  • Paramètres de chiffrement

Voir aussi

Mis à jour

Ce contenu vous a-t-il été utile ?