mirror of
https://origin.cursor.com/mrdevmx/panels.git
synced 2026-10-09 12:03:17 +00:00
El host qzegekm3sr2bevgxl4wh4th2 es el UUID interno de Postgres; solo resuelve en esa red. Sin ella Liquibase lanza UnknownHostException. Co-authored-by: alberto.martinez <alberto.martinez@mrdev.mx>
87 lines
3.2 KiB
YAML
87 lines
3.2 KiB
YAML
# Desarrollo local: Postgres + Redis en compose, provision y seed `dev`.
|
|
# 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:
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_PASSWORD: ${POSTGRES_SUPERUSER_PASSWORD:?define POSTGRES_SUPERUSER_PASSWORD}
|
|
volumes:
|
|
- postgres-data:/var/lib/postgresql/data
|
|
expose:
|
|
- "5432"
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 10
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
restart: unless-stopped
|
|
expose:
|
|
- "6379"
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 10
|
|
|
|
provision:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.provision
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
environment:
|
|
PGHOST: postgres
|
|
PGPASSWORD: ${POSTGRES_SUPERUSER_PASSWORD:?}
|
|
PLATFORM_OWNER_PASSWORD: ${PLATFORM_OWNER_PASSWORD:?}
|
|
PLATFORM_APP_PASSWORD: ${PLATFORM_APP_PASSWORD:?}
|
|
IAM_OWNER_PASSWORD: ${IAM_OWNER_PASSWORD:?}
|
|
IAM_APP_PASSWORD: ${IAM_APP_PASSWORD:?}
|
|
CORE_OWNER_PASSWORD: ${CORE_OWNER_PASSWORD:?}
|
|
CORE_APP_PASSWORD: ${CORE_APP_PASSWORD:?}
|
|
REDIS_ADMIN_URL: redis://redis:6379
|
|
IAM_REDIS_PASSWORD: ${IAM_REDIS_PASSWORD:?}
|
|
CORE_REDIS_PASSWORD: ${CORE_REDIS_PASSWORD:?}
|
|
command:
|
|
- -c
|
|
- "./db/provision/docker-provision.sh && ./db/provision/05-redis-acl.sh"
|
|
|
|
migrate:
|
|
depends_on:
|
|
provision:
|
|
condition: service_completed_successfully
|
|
environment:
|
|
DATABASE_URL_PLATFORM_OWNER: postgresql://panels_platform_owner:${PLATFORM_OWNER_PASSWORD:?}@postgres:5432/panels_platform
|
|
DATABASE_URL_IAM_OWNER: postgresql://panels_iam_owner:${IAM_OWNER_PASSWORD:?}@postgres:5432/panels_product
|
|
DATABASE_URL_CORE_OWNER: postgresql://panels_core_owner:${CORE_OWNER_PASSWORD:?}@postgres:5432/panels_product
|
|
command: ["all", "--context-filter=dev"]
|
|
|
|
api:
|
|
depends_on:
|
|
redis:
|
|
condition: service_healthy
|
|
environment:
|
|
DENO_ENV: development
|
|
DATABASE_URL_PLATFORM: postgresql://panels_platform_app:${PLATFORM_APP_PASSWORD:?}@postgres:5432/panels_platform
|
|
DATABASE_URL_IAM: postgresql://panels_iam_app:${IAM_APP_PASSWORD:?}@postgres:5432/panels_product
|
|
DATABASE_URL_CORE: postgresql://panels_core_app:${CORE_APP_PASSWORD:?}@postgres:5432/panels_product
|
|
DATABASE_URL_IAM_OWNER: postgresql://panels_iam_owner:${IAM_OWNER_PASSWORD:?}@postgres:5432/panels_product
|
|
DATABASE_URL_CORE_OWNER: postgresql://panels_core_owner:${CORE_OWNER_PASSWORD:?}@postgres:5432/panels_product
|
|
REDIS_URL_IAM: redis://panels_iam_redis:${IAM_REDIS_PASSWORD:?}@redis:6379
|
|
REDIS_URL_CORE: redis://panels_core_redis:${CORE_REDIS_PASSWORD:?}@redis:6379
|
|
|
|
volumes:
|
|
postgres-data:
|
|
|
|
# El compose de Coolify exige la red externa `coolify`. En local no existe:
|
|
# esta red puente sustituye `data` (Compose 2.24+ !override).
|
|
networks:
|
|
data: !override
|
|
name: panels-local-data
|