mirror of
https://origin.cursor.com/mrdevmx/panels.git
synced 2026-10-09 14:53:18 +00:00
ops: sacar el overlay local del glob docker-compose*.yml
Coolify Reload Compose mezclaba docker-compose.local.yml y marcaba PLATFORM_*_PASSWORD / IAM_* / CORE_* / *_REDIS_PASSWORD como Required. Esas variables son solo para provision local; en Coolify van las URLs. Co-authored-by: alberto.martinez <alberto.martinez@mrdev.mx>
This commit is contained in:
parent
4f20c98e5d
commit
05ea4e942f
4 changed files with 12 additions and 6 deletions
|
|
@ -2,7 +2,8 @@
|
||||||
# Liquibase corre solo en el job `migrate` (un shot por deploy); la API espera
|
# Liquibase corre solo en el job `migrate` (un shot por deploy); la API espera
|
||||||
# a que termine. No arranca Java dentro del contenedor de tráfico.
|
# a que termine. No arranca Java dentro del contenedor de tráfico.
|
||||||
#
|
#
|
||||||
# Local: docker compose -f docker-compose.yml -f docker-compose.local.yml up --build
|
# Coolify: un solo archivo — docker-compose.yml. No añadir overlays.
|
||||||
|
# Local: docker compose -f docker-compose.yml -f overlays/compose.local.yml up --build
|
||||||
services:
|
services:
|
||||||
migrate:
|
migrate:
|
||||||
build:
|
build:
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ En Coolify el servicio de PANELS se llama **`web-panel`** (FQDN ej. `panels.mrde
|
||||||
|
|
||||||
1. **Provisionar Postgres, Redis y bucket** — 1 de cada **por ambiente** (no por módulo; no compartir prod con staging).
|
1. **Provisionar Postgres, Redis y bucket** — 1 de cada **por ambiente** (no por módulo; no compartir prod con staging).
|
||||||
2. **Crear accesos y validar**: `./db/provision/create-accesses.sh --apply --verify --out .env.<env>.local` contra esos hosts (ver [`db/provision/README.md`](../db/provision/README.md)). Coolify no crea los roles `panels_*` ni los ACL de Redis solo.
|
2. **Crear accesos y validar**: `./db/provision/create-accesses.sh --apply --verify --out .env.<env>.local` contra esos hosts (ver [`db/provision/README.md`](../db/provision/README.md)). Coolify no crea los roles `panels_*` ni los ACL de Redis solo.
|
||||||
3. **Coolify → Docker Compose** → `docker-compose.yml` (este archivo **no** levanta Postgres/Redis; usa los recursos que ya creaste). Conecta el stack a la **misma red** que Postgres y Redis (Connect to Predefined Network).
|
3. **Coolify → Docker Compose** → **solo** `docker-compose.yml` (Compose Location). **No** añadas `overlays/compose.local.yml` ni ningún `docker-compose.local.yml`. El overlay local pide `PLATFORM_*_PASSWORD` etc.; en Coolify esas 8 variables **no** se rellenan: los accesos van en las `DATABASE_URL_*` / `REDIS_URL_*` ya expandidas. Este archivo **no** levanta Postgres/Redis; usa los recursos que ya creaste. Conecta el stack a la **misma red** que Postgres y Redis (Connect to Predefined Network).
|
||||||
4. Cargar en el recurso compose **todas** las variables obligatorias (incluidas las 3 `DATABASE_URL_*_OWNER`: las usa el job `migrate`). `DENO_ENV=production`.
|
4. Cargar en el recurso compose **todas** las variables obligatorias (incluidas las 3 `DATABASE_URL_*_OWNER`: las usa el job `migrate`). `DENO_ENV=production`.
|
||||||
5. **Deploy.** En cada deploy corre `migrate` (`--context-filter=!dev`, sin demo) y **después** arranca `api`. No hace falta entrar al VPS a correr Liquibase.
|
5. **Deploy.** En cada deploy corre `migrate` (`--context-filter=!dev`, sin demo) y **después** arranca `api`. No hace falta entrar al VPS a correr Liquibase.
|
||||||
6. **Bootstrap del primer admin** (solo la primera vez): `bootstrap-admin.ts` (ver `db/README.md`).
|
6. **Bootstrap del primer admin** (solo la primera vez): `bootstrap-admin.ts` (ver `db/README.md`).
|
||||||
|
|
@ -104,11 +104,15 @@ Además, el recurso Docker Compose de PANELS debe estar en la **misma red** que
|
||||||
|
|
||||||
Tras corregir las URLs, redesplegar y revisar `docker logs` del contenedor `migrate-*` (debe terminar con Liquibase `Update has been successful` o similar, exit 0). El `docker stop … No such container` del helper de Coolify es ruido de limpieza, no la causa.
|
Tras corregir las URLs, redesplegar y revisar `docker logs` del contenedor `migrate-*` (debe terminar con Liquibase `Update has been successful` o similar, exit 0). El `docker stop … No such container` del helper de Coolify es ruido de limpieza, no la causa.
|
||||||
|
|
||||||
|
### Coolify pide `PLATFORM_OWNER_PASSWORD`, `IAM_APP_PASSWORD`, `*_REDIS_PASSWORD`…
|
||||||
|
|
||||||
|
Eso sale de **Reload Compose** mezclando el overlay de desarrollo. En producción **no las rellenes**. En el recurso: Compose file = `docker-compose.yml` únicamente. Borra esas 8 variables si Coolify las marcó Required. Siguen haciendo falta las URLs completas (`DATABASE_URL_*`, `REDIS_URL_*`).
|
||||||
|
|
||||||
## Local (todo en docker-compose, incluyendo Postgres/Redis propios)
|
## Local (todo en docker-compose, incluyendo Postgres/Redis propios)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cp .env.example .env
|
cp .env.example .env
|
||||||
docker compose -f docker-compose.yml -f docker-compose.local.yml up --build
|
docker compose -f docker-compose.yml -f overlays/compose.local.yml up --build
|
||||||
```
|
```
|
||||||
|
|
||||||
El overlay local añade Postgres/Redis + `provision` y corre Liquibase con `context=dev` (demo).
|
El overlay local añade Postgres/Redis + `provision` y corre Liquibase con `context=dev` (demo).
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
# Desarrollo local: Postgres + Redis en compose, provision y seed `dev`.
|
# Desarrollo local: Postgres + Redis en compose, provision y seed `dev`.
|
||||||
# Uso: docker compose -f docker-compose.yml -f docker-compose.local.yml up --build
|
# NO usar en Coolify (vive fuera de docker-compose*.yml para que Reload no lo mezcle).
|
||||||
|
# Uso: docker compose -f docker-compose.yml -f overlays/compose.local.yml up --build
|
||||||
services:
|
services:
|
||||||
postgres:
|
postgres:
|
||||||
image: postgres:16-alpine
|
image: postgres:16-alpine
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
"dev:web": "cd web-panel && npm run dev",
|
"dev:web": "cd web-panel && npm run dev",
|
||||||
"dev:saas": "cd web-saas && npm run dev",
|
"dev:saas": "cd web-saas && npm run dev",
|
||||||
"db:migrate": "./db/update.sh all",
|
"db:migrate": "./db/update.sh all",
|
||||||
"docker:build": "docker compose -f docker-compose.yml -f docker-compose.local.yml build",
|
"docker:build": "docker compose -f docker-compose.yml -f overlays/compose.local.yml build",
|
||||||
"docker:up": "docker compose -f docker-compose.yml -f docker-compose.local.yml up -d"
|
"docker:up": "docker compose -f docker-compose.yml -f overlays/compose.local.yml up -d"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue