Despliegue: usar los nombres nativos de MySQL en lugar de interpolar

Coolify escribe `null` al inlinear una variable marcada como `mostrar una
sola vez`, asi que `MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}` se resolvia a
vacio, MySQL se negaba a inicializar y el contenedor entraba en bucle de
reinicio; `web` abortaba con `dependency failed to start`.

Ahora el compose declara las variables en lista y por nombre pelado, sin
interpolacion, y el portal acepta MYSQL_DATABASE / MYSQL_USER / MYSQL_PASSWORD
como alternativa a los DB_*. Un solo juego de variables alimenta a los dos
contenedores.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
Uriel Jareth
2026-07-29 23:34:28 -06:00
co-authored by Claude Opus 5
parent 0b9c9c1dc2
commit 1ae2e9c010
2 changed files with 35 additions and 20 deletions
+10 -3
View File
@@ -4,12 +4,19 @@ const bandera = (valor, porOmision) => (valor === undefined ? porOmision : valor
export const config = {
port: Number(process.env.PORT ?? 4180),
/**
* Se aceptan los nombres nativos de la imagen de MySQL (MYSQL_DATABASE,
* MYSQL_USER, MYSQL_PASSWORD) además de los DB_*. Así, al desplegar, un
* solo juego de variables alimenta a los dos contenedores y no hay que
* mantener dos nombres para el mismo dato ni interpolar nada en el compose.
*/
db: {
host: process.env.DB_HOST ?? '127.0.0.1',
port: Number(process.env.DB_PORT ?? 3307),
user: process.env.DB_USER ?? 'root',
password: process.env.DB_PASSWORD ?? 'insta_root_demo',
database: process.env.DB_NAME ?? 'insta_portal',
user: process.env.DB_USER ?? process.env.MYSQL_USER ?? 'root',
password: process.env.DB_PASSWORD ?? process.env.MYSQL_PASSWORD ?? 'insta_root_demo',
database: process.env.DB_NAME ?? process.env.MYSQL_DATABASE ?? 'insta_portal',
},
// Vigencia del enlace de acceso y de la sesión, en minutos.