> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/server/es/knowledge-base/how-to-articles/devolutions-server-docker-deployment/devolutions-server-deployment-to-azure-app-service-using-a-container.md).

# Implementación de Devolutions Server en Azure App Service mediante un contenedor

Esta guía explica el despliegue de Devolutions Server en Azure App Service mediante un contenedor, lo que proporciona una plataforma totalmente gestionada con escalado automático, TLS integrado e integración con servicios de Azure.

### Despliegue con Azure Portal

#### Requisitos previos

* Una suscripción de Azure.
* Azure CLI instalado: `az --version` (o utilice Azure Cloud Shell).
* Acceso de administrador de SQL Server (para la creación de la base de datos).
* Imagen de contenedor de Devolutions Server en un registro (Docker Hub o Azure Container Registry).

#### Crear una base de datos Azure SQL

1. Vaya al portal de Azure.
2. Haga clic en **Crear un recurso** y busque ***SQL Database*** – ***Crear***.
3. En la pestaña ***Aspectos básicos***, rellene los campos como se indica a continuación:

| Campos                          | Entrada sugerida                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Suscripción**                 | Seleccione su suscripción.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **Grupo de recursos**           | Cree un nuevo grupo llamado `rg-dvls-prod`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Nombre de la base de datos**  | Introduzca `dvls`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **Servidor**                    | <p>Haga clic en <em><strong>Crear nuevo</strong></em> y rellene los campos como se indica a continuación:</p><ul><li><em><strong>Nombre del servidor</strong></em>: <code>dvls-sql-server-\<unique></code>. El nombre del servidor debe ser único globalmente.</li><li><em><strong>Ubicación</strong></em>: seleccione una región.</li><li><em><strong>Autenticación</strong></em>: introduzca su autenticación SQL.</li><li><em><strong>Inicio de sesión del administrador del servidor</strong></em>: <code>sqladmin</code>.</li><li><em><strong>Contraseña</strong></em>: elija una contraseña segura.</li></ul><p>Haga clic en <em><strong>Aceptar</strong></em>.</p> |
| **Entorno de carga de trabajo** | Seleccione ***Producción***.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Proceso + almacenamiento**    | <p>Haga clic en <em><strong>Configurar base de datos</strong></em> y rellene los campos así:</p><ul><li><em><strong>Nivel de servicio</strong></em>: elija <em><strong>Estándar</strong></em>.</li><li><em><strong>DTU</strong></em>: SO (10 DTU) para pruebas, 20+ DTU para producción.</li></ul><p>Haga clic en <em><strong>Aplicar</strong></em>.</p>                                                                                                                                                                                                                                                                                                                  |

4. Después, en la pestaña ***Redes***:

| Campos                          | Entrada sugerida                                                   |
| ------------------------------- | ------------------------------------------------------------------ |
| **Método de conectividad**      | Seleccione ***Punto de conexión público***.                        |
| **Permitir servicios de Azure** | Elija ***Sí***, ya que es necesario para que App Service funcione. |
| **Añadir IP de cliente actual** | Elija ***Sí***, ya que es necesario a efectos de gestión.          |

5. Y la pestaña ***Configuración adicional***:

| Campos                    | Entrada sugerida            |
| ------------------------- | --------------------------- |
| **Usar datos existentes** | Seleccione ***Ninguno***.   |
| **Intercalación**         | Elija ***Predeterminada***. |

6. Haga clic en ***Revisar y crear*** – ***Crear*** y espere a que finalice el despliegue. Debería tardar entre 3 y 5 minutos.

#### Crear un usuario de base de datos para Devolutions Server

1. Vaya al ***Editor de consultas*** de su base de datos SQL e inicie sesión con las credenciales del administrador del servidor.
2. Ejecute la siguiente consulta SQL:

```sql
-- Create dedicated DVLS user
CREATE LOGIN dvls_user WITH PASSWORD = 'YourSecurePassword123!';

-- Switch to DVLS database
USE dvls;

-- Create user and grant permissions
CREATE USER dvls_user FOR LOGIN dvls_user;
ALTER ROLE db_owner ADD MEMBER dvls_user;
```

#### Crear un plan de App Service

1. Haga clic en ***Crear un recurso*** – ***Plan de App Service*** – ***Crear***.
2. Rellene la pestaña ***Aspectos básicos*** como sigue:

| Campos                | Entrada sugerida                                                                                                                                                                                                                                                                                                                                                        |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Suscripción**       | Seleccione su suscripción.                                                                                                                                                                                                                                                                                                                                              |
| **Grupo de recursos** | Introduzca el mismo que el de la base de datos: `rg-dvls-prod`.                                                                                                                                                                                                                                                                                                         |
| **Nombre**            | Introduzca `asp-dvls-prod`.                                                                                                                                                                                                                                                                                                                                             |
| **Sistema operativo** | Seleccione el sistema operativo que desee.                                                                                                                                                                                                                                                                                                                              |
| **Región**            | Introduzca la misma región que la elegida durante la configuración de la base de datos SQL.                                                                                                                                                                                                                                                                             |
| **Nivel de precios**  | <p>Haga clic en <em><strong>Cambiar tamaño</strong></em> y, a continuación, elija los niveles de precios para:</p><ul><li><em><strong>Producción</strong></em>: POV3 (mínimo recomendado).</li><li><em><strong>Desarrollo</strong></em>: B2 (nivel básico, coste más bajo).</li></ul><p>Una vez tomada su decisión, haga clic en <em><strong>Aplicar</strong></em>.</p> |

3. Haga clic en ***Revisar y crear*** – ***Crear***.

#### Crear el servicio de aplicaciones

1. Vaya a ***Crear un recurso*** – ***Aplicación web*** – ***Crear***.
2. En la pestaña ***Aspectos básicos***, rellene los campos como se muestra a continuación:

| Campos                | Entrada sugerida                                                                          |
| --------------------- | ----------------------------------------------------------------------------------------- |
| **Suscripción**       | Seleccione su suscripción.                                                                |
| **Grupo de recursos** | Introduzca `rg-dvls-prod`, como antes.                                                    |
| **Nombre**            | Introduzca `dvls-prod-<unique>`. Se convertirá en `dvls-prod-<unique>.azurewebsites.net`. |
| **Publicar**          | Elija ***Contenedor***.                                                                   |
| **Sistema operativo** | Seleccione el sistema operativo que desee.                                                |
| **Región**            | Introduzca la misma región que para la base de datos SQL y el plan de App Service.        |
| **Plan de Linux**     | Seleccione `asp-dvls-prod` (creado durante la creación del plan de App Service).          |

3. Y la pestaña ***Contenedor***:

| Campos                  | Entrada sugerida                                                                                                 |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------- |
| **Origen de la imagen** | Elija ***Docker Hub*** o ***Azure Container Registry***.                                                         |
| **Imagen y etiqueta**   | Introduzca `devolutions/devolutions-server:release-20XX.X` (sustituya el número de versión por el más reciente). |
| **Acceso al registro**  | Seleccione ***Público*** (para Docker Hub).                                                                      |

4. Haga clic en ***Revisar y crear*** – ***Crear*** y espere 2-3 minutos a que finalice el despliegue.
5. Una vez completado el despliegue, vaya a ***Configuración*** – ajustes ***Generales*** y active **Always on**. Esto evita que el contenedor quede inactivo y se inicie solo en respuesta a la primera solicitud entrante, lo que de otro modo puede parecer un fallo de inicio o de tiempo de espera.

#### Configurar los ajustes de la aplicación

1. Vaya a ***App Service*** – ***Configuración*** – ***Configuración de la aplicación***.
2. Haga clic en ***Nueva configuración de la aplicación*** para cada variable:

| Nombre              | Valor                                           | Notas                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ------------------- | ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `DATABASE_ENCRYPT`  | `true`                                          | Necesario para Azure SQL. Cifra la conexión SQL (TLS). Azure SQL siempre exige el cifrado, por lo que la conexión falla sin él.                                                                                                                                                                                                                                                                                                                                 |
| `DATABASE_HOST`     | `dvls-sql-server-<unique>.database.windows.net` | El nombre de host de su SQL Server.                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `DATABASE_NAME`     | `dvls`                                          | El nombre de su base de datos.                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `DATABASE_USERNAME` | `dvls_user`                                     | El usuario SQL dedicado.                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `DATABASE_PASSWORD` | `YourSecurePassword123!`                        | Utilice una referencia de Key Vault en producción.                                                                                                                                                                                                                                                                                                                                                                                                              |
| `WEB_SCHEME`        | `http`                                          | Protocolo (App Service gestiona la terminación HTTPS).                                                                                                                                                                                                                                                                                                                                                                                                          |
| `PORT`              | `5000`                                          | El puerto de escucha del contenedor.                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `DVLS_TELEMETRY`    | `true`                                          | Habilitar la telemetría.                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `WEBSITES_PORT`     | `5000`                                          | <p>Específico de Azure (indica a App Service qué puerto reenviar).<br><br>Algunas nuevas aplicaciones web de Azure ahora tienen la compatibilidad con Sidecar habilitada por defecto. Cuando la compatibilidad con Sidecar está habilitada, <code>WEBSITES\_PORT</code> se ignora. Deshabilite la compatibilidad con Sidecar para usar <code>WEBSITES\_PORT=5000</code> como se documenta, o déjela habilitada y establezca el puerto directamente en 5000.</p> |
|                     |                                                 |                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |

3. Haga clic en ***Save*** y luego en ***Continue*** para confirmar el reinicio.

#### Inicializar Devolutions Server y recuperar la configuración de cifrado

{% tabs %}
{% tab title="Windows" %}

* Vaya a ***Configuration*** – ***Application settings***.
* Añada una nueva configuración:
  * **Name**: `DVLS_INIT`
  * **Value**: `true`
* Haga clic en ***Save*** – ***Continue***. Esto reinicia la aplicación.
* En ***Monitoring***, vaya a ***Log stream*** y espere de 1 a 2 minutos hasta que se complete la inicialización.
* Habilite temporalmente el acceso SSH dirigiéndose a ***Development Tools*** – ***SSH*** y haciendo clic en ***Go***.
* Extraiga la configuración de cifrado:

  ```powershell
  cat /opt/devolutions/dvls/App_Data/encryption.config | base64
  ```
* Copie la salida base64.
* Vaya a ***Configuration*** – ***Application settings*** – ***New application setting***. Introduzca `DVLS_ENCRYPTION_CONFIG_B64` en el campo ***Name*** y pegue el contenido del fichero base64 copiado durante el paso n.º 7 en el campo ***Value***. Haga clic en ***OK***.
* Busque la configuración `DVLS_INIT` y haga clic en ***Delete***.
* Haga clic en ***Save*** y luego en ***Continue***.
  {% endtab %}

{% tab title="macOS" %}

* Vaya a ***Configuration*** – ***Application settings***.
* Añada una nueva configuración:
  * **Name**: `DVLS_INIT`
  * **Value**: `true`
* Haga clic en ***Save*** – ***Continue***. Esto reinicia la aplicación.
* En ***Monitoring***, vaya a ***Log stream*** y espere de 1 a 2 minutos hasta que se complete la inicialización.
* Habilite temporalmente el acceso SSH dirigiéndose a ***Development Tools*** – ***SSH*** y haciendo clic en ***Go***.
* Extraiga la configuración de cifrado:

  ```bash
  cat /opt/devolutions/dvls/App_Data/encryption.config | base64
  ```
* Copie la salida base64.
* Vaya a ***Configuration*** – ***Application settings*** – ***New application setting***. Introduzca `DVLS_ENCRYPTION_CONFIG_B64` en el campo ***Name*** y pegue el contenido del fichero base64 copiado durante el paso n.º 7 en el campo ***Value***. Haga clic en ***OK***.
* Busque la configuración `DVLS_INIT` y haga clic en ***Delete***.
* Haga clic en ***Save*** y luego en ***Continue***.
  {% endtab %}

{% tab title="Linux" %}

* Vaya a ***Configuration*** – ***Application settings***.
* Añada una nueva configuración:
  * **Name**: `DVLS_INIT`
  * **Value**: `true`
* Haga clic en ***Save*** – ***Continue***. Esto reinicia la aplicación.
* En ***Monitoring***, vaya a ***Log stream*** y espere de 1 a 2 minutos hasta que se complete la inicialización.
* Habilite temporalmente el acceso SSH dirigiéndose a ***Development Tools*** – ***SSH*** y haciendo clic en ***Go***.
* Extraiga la configuración de cifrado:

  ```bash
  cat /opt/devolutions/dvls/App_Data/encryption.config | base64
  ```
* Copie la salida base64.
* Vaya a ***Configuration*** – ***Application settings*** – ***New application setting***. Introduzca `DVLS_ENCRYPTION_CONFIG_B64` en el campo ***Name*** y pegue el contenido del fichero base64 copiado durante el paso n.º 7 en el campo ***Value***. Haga clic en ***OK***.
* Busque la configuración `DVLS_INIT` y haga clic en ***Delete***.
* Haga clic en ***Save*** y luego en ***Continue***.
  {% endtab %}
  {% endtabs %}

#### Acceder a Devolutions Server

1. Vaya a ***Overview*** – ***URL***.
2. Haga clic en la URL o visite: `https://devolutions-server-prod-<unique>.azurewebsites.net`
3. Inicie sesión con las credenciales predeterminadas:
   * **Nombre de usuario**: `dvls-admin`
   * **Contraseña**: `dvls-admin`

{% hint style="danger" %}
Inmediatamente después de iniciar sesión, cambie la contraseña predeterminada dirigiéndose a ***Administration*** – ***Users***, haciendo clic en el botón de puntos suspensivos verticales del usuario `dvls-admin` y seleccionando ***Change password***.
{% endhint %}

### Implementación con Azure CLI

Azure CLI también está disponible para implementaciones automatizadas o repetibles.

#### Requisitos previos

{% tabs %}
{% tab title="Windows" %}

```
# Login to Azure
az login

# Set subscription
az account set --subscription "Your Subscription Name"

# Verify Azure CLI version (2.50+ recommended)
az --version
```

{% endtab %}

{% tab title="macOS" %}

```
# Login to Azure
az login

# Set subscription
az account set --subscription "Your Subscription Name"

# Verify Azure CLI version (2.50+ recommended)
az --version
```

{% endtab %}

{% tab title="Linux" %}

```
# Login to Azure
az login

# Set subscription
az account set --subscription "Your Subscription Name"

# Verify Azure CLI version (2.50+ recommended)
az --version
```

{% endtab %}
{% endtabs %}

#### Dominio personalizado y TLS

**Añadir un dominio personalizado**

1. Vaya a ***App Service*** – ***Custom domains*** – ***Add custom domain***.
2. Introduzca su dominio: `devolutions-server.company.com`
3. Siga las instrucciones de configuración de DNS:
   * **CNAME**: `devolutions-server.company.com` → `devolutions-server-prod-<unique>.azurewebsites.net`.
   * O bien un **registro A** + registro TXT para el dominio apex.
4. Haga clic en ***Validate*** y luego en ***Add***.

**Añadir un certificado gestionado (gratuito y se renueva automáticamente)**

1. Vaya a ***Certificates*** – ***Managed certificates*** – ***Add certificate***.
2. Seleccione su dominio personalizado.
3. Haga clic en ***Validate*** y luego en ***Add***.
4. Vaya a ***Custom domains***, seleccione su dominio y haga clic en ***Add binding***.
5. Para el ***Certificate***, seleccione ***Managed certificate***.
6. Para el ***TLS/SSL type***, elija ***SNI SSL***.
7. Haga clic en ***Add***.

**Forzar HTTPS**

1. Vaya a ***Configuration*** – ***General settings***.
2. Establezca ***HTTPS Only*** en ***On*** y haga clic en ***Save***.

### Monitorización

#### Habilitar Application Insights

**Portal**

1. Vaya a ***App Service*** – ***Application Insights*** – ***Turn on Application Insights***.
2. ***Create new*** o ***Select existing*** para los recursos de Application Insights.
3. Haga clic en ***Apply***.

**CLI**

{% tabs %}
{% tab title="Windows" %}

```powershell
# Create Application Insights
az monitor app-insights component create `
  --app dvls-insights `
  --location eastus `
  --resource-group rg-dvls-prod `
  --application-type web

# Get connection string
$CONN_STRING = az monitor app-insights component show `
  --app dvls-insights `
  --resource-group rg-dvls-prod `
  --query connectionString -o tsv

# Configure App Service
az webapp config appsettings set `
  --resource-group rg-dvls-prod `
  --name dvls-prod-<unique> `
  --settings "APPLICATIONINSIGHTS_CONNECTION_STRING=$CONN_STRING"
```

{% endtab %}

{% tab title="macOS" %}

```bash
# Create Application Insights
az monitor app-insights component create \
  --app dvls-insights \
  --location eastus \
  --resource-group rg-dvls-prod \
  --application-type web

# Get connection string
CONN_STRING=$(az monitor app-insights component show \
  --app dvls-insights \
  --resource-group rg-dvls-prod \
  --query connectionString -o tsv)

# Configure App Service
az webapp config appsettings set \
  --resource-group rg-dvls-prod \
  --name dvls-prod-<unique> \
  --settings \
    APPLICATIONINSIGHTS_CONNECTION_STRING="$CONN_STRING"
```

{% endtab %}

{% tab title="Linux" %}

```bash
# Create Application Insights
az monitor app-insights component create \
  --app dvls-insights \
  --location eastus \
  --resource-group rg-dvls-prod \
  --application-type web

# Get connection string
CONN_STRING=$(az monitor app-insights component show \
  --app dvls-insights \
  --resource-group rg-dvls-prod \
  --query connectionString -o tsv)

# Configure App Service
az webapp config appsettings set \
  --resource-group rg-dvls-prod \
  --name dvls-prod-<unique> \
  --settings \
    APPLICATIONINSIGHTS_CONNECTION_STRING="$CONN_STRING"
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Aquí la ubicación se establece en East US como ejemplo. Asegúrese de cambiar el valor por su región.
{% endhint %}

### Ver los registros

{% tabs %}
{% tab title="Windows" %}
**Transmitir los registros**

```powershell
az webapp log tail `
  --resource-group rg-dvls-prod `
  --name dvls-prod-<unique>
```

**Descargar los registros**

```powershell
az webapp log download `
  --resource-group rg-dvls-prod `
  --name dvls-prod-<unique> `
  --log-file dvls-logs.zip
```

{% endtab %}

{% tab title="macOS" %}
**Transmitir los registros**

```bash
az webapp log tail \
  --resource-group rg-dvls-prod \
  --name dvls-prod-<unique>
```

**Descargar los registros**

```bash
az webapp log download \
  --resource-group rg-dvls-prod \
  --name dvls-prod-<unique> \
  --log-file dvls-logs.zip
```

{% endtab %}

{% tab title="Linux" %}
**Transmitir los registros**

```bash
az webapp log tail \
  --resource-group rg-dvls-prod \
  --name dvls-prod-<unique>
```

**Descargar los registros**

```bash
az webapp log download \
  --resource-group rg-dvls-prod \
  --name dvls-prod-<unique> \
  --log-file dvls-logs.zip
```

{% endtab %}
{% endtabs %}

### Seguridad

#### Usar Azure Key Vault para los secretos

{% tabs %}
{% tab title="Windows" %}

1. Habilite la ***Managed Identity***:

   ```powershell
   az webapp identity assign `
     --resource-group rg-dvls-prod `
     --name dvls-prod-<unique>

   PRINCIPAL_ID=$(az webapp identity show `
     --resource-group rg-dvls-prod `
     --name dvls-prod-<unique> `
     --query principalId -o tsv)
   ```
2. Cree un Key Vault y almacene el secreto:

   ```powershell
   az keyvault create `
     --name kv-dvls-prod `
     --resource-group rg-dvls-prod `
     --location eastus

   az keyvault secret set `
     --vault-name kv-dvls-prod `
     --name dvls-db-password `
     --value 'YourSecurePassword123!'
   ```
3. Conceda acceso:

   ```powershell
   az keyvault set-policy `
     --name kv-dvls-prod `
     --object-id "$PRINCIPAL_ID" `
     --secret-permissions get
   ```
4. Haga referencia en ***App Settings***:

   ```powershell
   SECRET_URI=$(az keyvault secret show `
     --vault-name kv-dvls-prod `
     --name dvls-db-password `
     --query id -o tsv)

   az webapp config appsettings set `
     --resource-group rg-dvls-prod `
     --name dvls-prod-<unique> `
     --settings `
       DATABASE_PASSWORD="@Microsoft.KeyVault(SecretUri=${SECRET_URI})"
   ```

{% endtab %}

{% tab title="macOS" %}

1. Habilite la ***Managed Identity***:

   ```bash
   az webapp identity assign \
     --resource-group rg-dvls-prod \
     --name dvls-prod-<unique>

   PRINCIPAL_ID=$(az webapp identity show \
     --resource-group rg-dvls-prod \
     --name dvls-prod-<unique> \
     --query principalId -o tsv)
   ```
2. Cree un Key Vault y almacene el secreto:

   ```bash
   az keyvault create \
     --name kv-dvls-prod \
     --resource-group rg-dvls-prod \
     --location eastus

   az keyvault secret set \
     --vault-name kv-dvls-prod \
     --name dvls-db-password \
     --value 'YourSecurePassword123!'
   ```
3. Conceda acceso:

   ```bash
   az keyvault set-policy \
     --name kv-dvls-prod \
     --object-id "$PRINCIPAL_ID" \
     --secret-permissions get
   ```
4. Haga referencia en ***App Settings***:

   ```bash
   SECRET_URI=$(az keyvault secret show \
     --vault-name kv-dvls-prod \
     --name dvls-db-password \
     --query id -o tsv)

   az webapp config appsettings set \
     --resource-group rg-dvls-prod \
     --name dvls-prod-<unique> \
     --settings \
       DATABASE_PASSWORD="@Microsoft.KeyVault(SecretUri=${SECRET_URI})"
   ```

{% endtab %}

{% tab title="Linux" %}

1. Habilite la ***Managed Identity***:

   ```bash
   az webapp identity assign \
     --resource-group rg-dvls-prod \
     --name dvls-prod-<unique>

   PRINCIPAL_ID=$(az webapp identity show \
     --resource-group rg-dvls-prod \
     --name dvls-prod-<unique> \
     --query principalId -o tsv)
   ```
2. Cree un Key Vault y almacene el secreto:

   ```bash
   az keyvault create \
     --name kv-dvls-prod \
     --resource-group rg-dvls-prod \
     --location eastus

   az keyvault secret set \
     --vault-name kv-dvls-prod \
     --name dvls-db-password \
     --value 'YourSecurePassword123!'
   ```
3. Conceda acceso:

   ```bash
   az keyvault set-policy \
     --name kv-dvls-prod \
     --object-id "$PRINCIPAL_ID" \
     --secret-permissions get
   ```
4. Haga referencia en ***App Settings***:

   ```bash
   SECRET_URI=$(az keyvault secret show \
     --vault-name kv-dvls-prod \
     --name dvls-db-password \
     --query id -o tsv)

   az webapp config appsettings set \
     --resource-group rg-dvls-prod \
     --name dvls-prod-<unique> \
     --settings \
       DATABASE_PASSWORD="@Microsoft.KeyVault(SecretUri=${SECRET_URI})"
   ```

{% endtab %}
{% endtabs %}

#### Véase también

* [Configuración avanzada de Docker para Devolutions Server](/server/es/knowledge-base/how-to-articles/devolutions-server-docker-deployment/advanced-docker-configuration-for-devolutions-server.md)
* [Implementar Devolutions Server con Docker](/server/es/knowledge-base/how-to-articles/devolutions-server-docker-deployment.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.devolutions.net/server/es/knowledge-base/how-to-articles/devolutions-server-docker-deployment/devolutions-server-deployment-to-azure-app-service-using-a-container.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
