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

Configuración avanzada de Docker para Devolutions Server

Este artículo cubre las opciones de configuración avanzada para el despliegue de Devolutions Server en Docker, incluida la referencia completa de variables de entorno, la gestión de certificados, el ajuste del rendimiento y el refuerzo de la seguridad.

Referencia de variables de entorno

Variables de conexión a la base de datos

Variable
Obligatorio
Predeterminado
Descripción

DATABASE_HOST

Nombre de host del SQL Server. Para puertos no estándar, use el formato host,port (p. ej., sql.example.com,1433).

AZURE_SQL_HOST

Sí*

Alias de DATABASE_HOST (nomenclatura específica de Azure).

DATABASE_NAME

Nombre de la base de datos de Devolutions Server.

AZURE_SQL_DATABASE

Sí*

Alias de DATABASE_NAME.

DATABASE_USERNAME

Nombre de usuario de autenticación SQL (use una cuenta con privilegios mínimos con db_owner en la base de datos de Devolutions Server).

AZURE_SQL_USERNAME

Sí*

Alias de DATABASE_USERNAME.

DATABASE_PASSWORD

Contraseña de autenticación SQL (trátela como un secreto, use secretos de Docker o Azure Key Vault).

AZURE_SQL_PASSWORD

Sí*

Alias de DATABASE_PASSWORD.

DATABASE_PORT

No

1433

Puerto del SQL Server (se añade al host si no se ha especificado ya en DATABASE_HOST).

AZURE_SQL_PORT

No

1433

Alias de DATABASE_PORT.

DATABASE_ENCRYPT

No

false

Establézcalo en true para cifrar la conexión con el SQL Server (TLS). Obligatorio cuando el SQL Server exige el cifrado. Se lee en cada inicio del contenedor: páselo en cada docker run.

DATABASE_TRUST_SERVER_CERTIFICATE

No

false

Establézcalo en true para confiar en el certificado del SQL Server sin validarlo. Úselo con DATABASE_ENCRYPT=true cuando el servidor presente un certificado autofirmado (p. ej., SQL Server 2022 en un contenedor).

Las variables marcadas con * son alias. Use la nomenclatura estándar o la específica de Azure, no ambas.

Configuración del servidor web

Variable
Obligatorio
Predeterminado
Descripción

HOSTNAME

No

localhost

Nombre de host del servidor (se sobrescribe con WEBSITE_HOSTNAME en Azure).

WEB_SCHEME

No

http

Protocolo: http o https. Establézcalo en https para habilitar TLS.

WEB_PORT / PORT

No

5000

Puerto en el que escucha el contenedor.

EXTERNAL_WEB_SCHEME

No

Refleja WEB_SCHEME

Protocolo externo cuando está detrás de un proxy inverso (p. ej., https cuando el proxy gestiona TLS).

EXTERNAL_WEB_PORT

No

Refleja WEB_PORT

Puerto externo cuando está detrás de un proxy inverso (p. ej., 443 para HTTPS estándar).

Configuración del certificado TLS

Variable
Obligatorio
Predeterminado
Descripción

TLS_CERTIFICATE_FILE

No*

Ruta al fichero de certificado PEM montado (p. ej., /opt/devolutions/dvls/certs/server.pem)

TLS_PRIVATE_KEY_FILE

No*

Ruta al fichero de clave privada PEM montado (p. ej., /opt/devolutions/dvls/certs/server.key)

TLS_CERTIFICATE_B64

No*

Contenido del certificado codificado en Base64 (se escribe en App_Data/server.pem)

TLS_PRIVATE_KEY_B64

No*

Contenido de la clave privada codificado en Base64 (se escribe en App_Data/server.key)

Si WEB_SCHEME=https y no se proporciona ningún certificado, se genera automáticamente un certificado autofirmado (válido ~5 años, RSA de 2048 bits). Use montajes de ficheros o variables en base64 para los certificados de producción.

Configuración del modo de funcionamiento

DVLS_INIT y DVLS_UPDATE_MODE son mutuamente excluyentes. Establecer ambos en true provocará un error.

Variable
Obligatorio
Predeterminado
Descripción

DVLS_INIT

No

false

Establézcalo en true para ejecutar el modo de inicialización (crea el esquema y el usuario administrador y, a continuación, finaliza).

DVLS_UPDATE_MODE

No

false

Establézcalo en true para ejecutar el modo de actualización (realiza una copia de seguridad, migra la base de datos y, a continuación, finaliza).

DVLS_BACKUP_PATH

No

/tmp/dvls-backup

Ubicación de la copia de seguridad durante las actualizaciones (monte un volumen para conservar las copias de seguridad).

Variables del modo de inicialización

Estas variables solo se utilizan durante la inicialización (DVLS_INIT=true):

Variable
Obligatoria
Predeterminado
Descripción

DVLS_ADMIN_USERNAME

No

dvls-admin

Nombre de usuario de la cuenta de administrador creada durante la inicialización.

DVLS_ADMIN_PASSWORD

No

dvls-admin

Contraseña de la cuenta de administrador. DEBE cambiarse en producción.

DVLS_ADMIN_EMAIL

No

admin@<HOSTNAME>

Dirección de correo electrónico de la cuenta de administrador

Configuración del sistema

Variable
Obligatoria
Predeterminado
Descripción

DVLS_PATH

No

/opt/devolutions/dvls

Ruta raíz de instalación (ubicación de appsettings y App_Data).

DVLS_EXECUTABLE_PATH

No

/opt/devolutions/dvls/Devolutions.Server

Ruta del ejecutable de Devolutions Server en modo de ejecución.

DVLS_TELEMETRY

No

true

Activar/desactivar la recopilación de telemetría.

DVLS_ENCRYPTION_CONFIG_B64

No

Configuración de cifrado codificada en Base64 (necesaria para un cifrado coherente entre instancias escaladas).

Configuración del acceso SSH

Variable
Obligatoria
Predeterminado
Descripción

SSH_ENABLED

No

false

Activa el demonio SSH para depuración (se activa automáticamente en Azure salvo que se desactive explícitamente),

SSH_PORT

No

2222

Puerto de escucha SSH (publíquelo con -p 2222:2222),

SSH_PASSWORD

Sí*

Docker!

Contraseña de root para SSH (OBLIGATORIA si SSH_ENABLED=true; DEBE cambiarse en producción.

Si SSH_ENABLED=true sin SSH_PASSWORD, el contenedor se negará a iniciarse por motivos de seguridad.

Variables de Azure Web App

Estas variables las establece automáticamente Azure App Service:

Variable
Establecida por
Descripción

WEBSITE_HOSTNAME

Azure

Sustituye a HOSTNAME (por ejemplo, dvls-prod.azurewebsites.net)

WEBSITE_INSTANCE_ID

Azure

Su presencia fuerza EXTERNAL_WEB_SCHEME=https y EXTERNAL_WEB_PORT=443, y activa automáticamente SSH

Configuración del certificado TLS

Certificado autofirmado generado automáticamente

Cuando WEB_SCHEME=https sin variables de certificado, Devolutions Server genera un certificado autofirmado (válido ~5 años, RSA de 2048 bits, CN=hostname):

Ficheros de certificado mediante montaje de volumen

Monte los ficheros de certificado desde el host:

Requisitos de formato del certificado:

  • Certificado: formato PEM (.pem, .crt)

  • Clave privada: formato PEM (.key, .pem)

  • Cadena: incluya los certificados intermedios en el fichero de certificado

Ejemplo de fichero de certificado con cadena:

Certificados codificados en Base64

Utilice certificados codificados en Base64 cuando trabaje con sistemas de gestión de secretos (Azure Key Vault, Kubernetes Secrets):

El certificado y la clave privada se escriben en /opt/devolutions/dvls/App_Data/ y se referencian en la configuración de Devolutions Server.

Configuración de la base de datos

Formato de la cadena de conexión

Devolutions Server construye la cadena de conexión de SQL Server a partir de variables de entorno:

Puerto estándar (1433)

O bien omita DATABASE_PORT (por defecto, 1433):

O bien omita DATABASE_PORT (por defecto, 1433):

O bien omita DATABASE_PORT (por defecto, 1433):

Puerto no estándar

Opción 1: incluir el puerto en el nombre de host:

Opción 2: variable de puerto separada:

Opción 1: incluir el puerto en el nombre de host:

Opción 2: variable de puerto separada:

Opción 1: incluir el puerto en el nombre de host:

Opción 2: variable de puerto separada:

Base de datos de Azure SQL

Conexión cifrada a la base de datos (TLS)

De forma predeterminada, Devolutions Server se conecta a SQL Server sin TLS. Si su SQL Server exige cifrado (por ejemplo, SQL Server 2022, que requiere TLS de forma predeterminada, o cualquier instancia con «Force Encryption» activado), la conexión fallará a menos que active el cifrado en el lado del cliente.

Escenario
Variables obligatorias

SQL Server con un certificado de confianza emitido por una CA

DATABASE_ENCRYPT=true

SQL Server con un certificado autofirmado (por ejemplo, SQL Server 2022 en contenedor)

DATABASE_ENCRYPT=true y DATABASE_TRUST_SERVER_CERTIFICATE=true

Autenticación de SQL Server frente a autenticación de Windows

Los contenedores Docker de Devolutions Server solo admiten la autenticación de SQL Server (usuario/contraseña). La autenticación de Windows (Integrated Security) no se admite en contenedores Linux.

Configuración del proxy inverso

Cuando Devolutions Server se ejecuta detrás de un proxy inverso, un ingress de nginx o Azure App Service, configure los ajustes de la URL externa:

Ajustes clave:

  • WEB_SCHEME=http: el contenedor utiliza HTTP

  • EXTERNAL_WEB_SCHEME=https: la URL pública es HTTPS

  • EXTERNAL_WEB_PORT=443: puerto HTTPS estándar (se omite en las URL)

  • HOSTNAME=devolutions-server.company.com: nombre de host público

Devolutions Server genera URL como https://devolutions-server.company.com/ en la interfaz de usuario y en las respuestas de la API.

Refuerzo de la seguridad

Gestión de secretos

Docker Secrets (modo Swarm)

Ficheros de entorno

Docker Secrets (modo Swarm)

Ficheros de entorno

Docker Secrets (modo Swarm)

Ficheros de entorno

Azure Key Vault

Utilice Managed Identity para recuperar los secretos de Key Vault en tiempo de ejecución. Consulte Devolutions Server deployment to Azure App Service using a container para obtener más detalles.

Aislamiento de red

Utilice redes de Docker para aislar Devolutions Server:

Acceso SSH

Deshabilite SSH en producción a menos que sea necesario para la depuración:

Si SSH está habilitado:

  • Utilice contraseñas seguras.

  • Cambie la contraseña predeterminada.

  • Restrinja el acceso con reglas de firewall.

  • Considere la autenticación mediante clave SSH (requiere una imagen personalizada).

Actualizaciones de versión

Etiquetado de versiones

  • Las imágenes se etiquetan por versión de lanzamiento (por ejemplo, release-2025.3, release-2026.1) y por compilación específica (por ejemplo, 2025.3.1.0, 2025.3.2.0).

  • No existe la etiqueta latest: especifique siempre una versión.

  • Las actualizaciones menores o de parche dentro de la misma versión de lanzamiento se incluyen automáticamente al descargar la etiqueta de lanzamiento.

  • El modo de actualización de la base de datos solo es necesario al cambiar de versión principal (por ejemplo, release-2025.3release-2026.1).

La versión 2026.1 se utiliza a modo ilustrativo; sustitúyala por la versión principal más reciente real al actualizar.

Actualización de versión principal

Actualización menor o de parche (por ejemplo, de 2025.3.1 a 2025.3.2)

Actualización de versión principal

Actualización menor o de parche (por ejemplo, de 2025.3.1 a 2025.3.2)

Actualización de versión principal

Actualización menor o de parche (por ejemplo, de 2025.3.1 a 2025.3.2)

Lista de comprobación de seguridad

Consulte Devolutions Server security hardening para:

  • Configuración de las cuentas de administración

  • Políticas de contraseñas

  • Autenticación multifactor

  • Restricciones de IP

  • Registro de auditoría

  • Configuración de cifrado

Véase también

Última actualización

¿Te fue útil?