Dilohost Docs

Variables de entorno y secretos

Cómo dar configuración a tu app, guardar claves y contraseñas como secretos cifrados que nunca se vuelven a mostrar, y conectar bases de datos y almacenes sin copiar credenciales.

Actualizado el 11 de octubre de 2026 Ver en Markdown

Las variables de entorno son la configuración de tu app: el nombre de la tienda, la clave de una API de pagos, el modo de depuración. En Dilohost se guardan por app, los secretos van cifrados y la app se reinicia sola para leerlas.

Poner variables

En la app web de la tienda, pon APP_NAME="Tienda Ana" y APP_ENV=production.

El agente usa config.set con un objeto {"NOMBRE": "valor"}. La app se reinicia con los valores nuevos en unos segundos; no hace falta volver a publicar.

Secretos

Las contraseñas, claves y tokens se guardan como secretos:

Guarda como secreto la clave de Stripe de la tienda: STRIPE_SECRET=…

El agente usa config.set con secret=true. Un secreto:

  • se guarda cifrado;
  • nunca se vuelve a mostrar por el agente: al listar las variables sale como •••••• (secreto);
  • si lo pierdes, no se puede recuperar: se cambia por uno nuevo.

Importante

Lo que escribas en la conversación lo ve tu agente, así que lo más seguro es que un secreto no pase por ella. Para bases de datos y almacenes de ficheros no hace falta: Dilohost escribe las credenciales directamente en la app con inject_into (ver abajo). Las claves de servicios externos (pagos, correo, APIs) sí tienen que llegar por la conversación una vez; desde ese momento quedan cifradas y no se vuelven a mostrar.

Ver y quitar variables

¿Qué variables tiene la app web de la tienda?

config.list enseña los nombres y los valores, salvo los secretos, que salen ocultos.

Quita la variable DEBUG de la tienda.

config.unset borra las variables que le digas. Pide confirmación, porque si la app las necesita dejará de funcionar. La app se reinicia sin ellas.

Conectar bases de datos y almacenes sin copiar credenciales

En lugar de copiar usuarios y contraseñas, pide que Dilohost los inyecte en la app:

Conecta la base de datos «datos» a la app web de la tienda.

  • database.connection con inject_into="<app>" guarda como secretos DATABASE_URL, DB_* y la configuración de TLS. Ver Bases de datos.
  • storage.connection con inject_into="<app>" guarda como secretos las variables AWS_* del almacén. Ver Almacenamiento de ficheros.

La contraseña no aparece en ningún momento en la conversación.

Reglas

Regla Valor
Nombre Letras, números y guion bajo, empezando por letra o guion bajo (por ejemplo APP_URL).
Valor Texto, hasta 32 KB.
Cuántas Hasta 50 por petición y 150 por app.
Reservadas PORT, HOME, PATH y HOSTNAME las pone Dilohost y no se pueden cambiar. PORT vale 8080.

Los workers y tareas programadas usan las variables de la app de la que salen.

Nota

Los ficheros .env con secretos que lleguen en un zip se descartan al subirlo, para que no acaben en el repositorio. Pon la configuración en variables.

Relacionado