chore(dev): puertos del CRM sin choque con EFC y overrides locales fuera del repo

El 8000 del host lo ocupa EFC_backend_dev, asi que el backend del stack E2E se
mueve a 3468 (vecino del 3467 de prod). Dentro del contenedor sigue siendo 8000:
gunicorn, healthcheck e INTERNAL_API_URL son de la red interna y no cambian.
El 5173 NO se mueve: es la redirect URI registrada en Workspace.

SUNRISE/, automatizacion/ y docker-compose.dev.yml quedan fuera del control de
versiones: son el corredor de la corrida autonoma y el override de dev de cada
maquina, no configuracion compartida.

Ref: T2026-08-046

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-10 10:18:46 -06:00
parent afe659e56a
commit dfb3c8a08d
2 changed files with 32 additions and 5 deletions

View File

@@ -7,12 +7,28 @@
# - Sin `container_name` ni `restart` (efímero, COMPOSE_PROJECT_NAME aísla los nombres).
# - Sin `celery_worker` / `celery_beat` (no se ejercitan en los specs actuales).
# - Imágenes vía env vars: la del frontend se rebuildea localmente con
# VITE_API_URL=http://localhost:8000/api/ (la prod tiene la URL de dev bakeada).
# - Puertos fijos: frontend 5173 / backend 8000 (URIs ya registradas en Workspace).
# VITE_API_URL=http://localhost:3468/api/ (la prod tiene la URL de dev bakeada).
#
# PUERTOS DEL HOST — 2026-08-10
# frontend 5173 NO SE MUEVE. Está registrado en Workspace: `http://localhost:5173/auth/callback`
# es la redirect URI permitida del cliente OIDC, y es además el `baseURL` de
# Playwright, el `CORS_ORIGINS` y el `APP_PUBLIC_URL` del backend. Moverlo rompe
# el login antes de que corra el primer spec.
# backend 3468 Movido desde 8000. En la máquina de desarrollo el 8000 del host lo ocupa
# `EFC_backend_dev` (stack de EFC), así que este servicio no arrancaba:
# "port is already allocated". 3468 es vecino del 3467 de docker-compose.prod.yml,
# para que los puertos del CRM se mantengan en un mismo rango reconocible.
# Dentro del contenedor sigue siendo 8000: el bind de gunicorn, el healthcheck
# y `INTERNAL_API_URL=http://backend:8000` NO cambian, son de la red interna.
#
# ⚠️ SI SE REACTIVA EL STAGE E2E DEL JENKINSFILE: la imagen del frontend hay que reconstruirla
# con VITE_API_URL=http://localhost:3468/api/. Si se hornea con 8000, el navegador de Playwright
# pegaría contra el backend de EFC y los specs pasarían contra el sistema equivocado — no falla,
# miente. Es el modo de fallo caro de este cambio.
#
# Variables requeridas en el entorno al invocar docker compose:
# E2E_BACKEND_IMAGE — imagen del backend recién pusheada a Harbor
# E2E_FRONTEND_IMAGE — imagen temporal del frontend con VITE_API_URL=localhost
# E2E_FRONTEND_IMAGE — imagen temporal del frontend con VITE_API_URL=localhost:3468
services:
postgres-app:
@@ -95,7 +111,9 @@ services:
- S3_USE_SSL=false
- S3_FILE_STORAGE=true
ports:
- "8000:8000"
# 3468 en el HOST, 8000 dentro del contenedor. Ver la nota de puertos del encabezado:
# el 8000 del host lo ocupa EFC_backend_dev en la maquina de desarrollo.
- "3468:8000"
depends_on:
postgres-app:
condition: service_healthy
@@ -131,7 +149,11 @@ services:
- NODE_ENV=production
# VITE_API_URL ya está bakeada en E2E_FRONTEND_IMAGE; este valor solo sirve
# para fallback server-side en frontend/src/lib/server/api.ts.
- VITE_API_URL=http://localhost:8000/api/
#
# ⚠️ El puerto del host es 3468, no 8000 (ver el encabezado). Y como el valor que usa
# el NAVEGADOR va bakeado en la imagen, cambiar solo esta línea NO basta: quien
# reconstruya E2E_FRONTEND_IMAGE tiene que hornear la misma URL.
- VITE_API_URL=http://localhost:3468/api/
- INTERNAL_API_URL=http://backend:8000/api/
- INTERNAL_HUB_URL=https://workspace.aduanasoft.com
- HUB_URL=https://workspace.aduanasoft.com