diff --git a/README.md b/README.md index f641fe1..f5cf040 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,20 @@ Para usuarios no tecnicos en Windows, usa `abrir_estacion.bat`; detecta puertos docker compose up --build ``` -Para Coolify, configura backend y frontend como servicios separados. Monta un volumen persistente para `/app/data` en el backend y define `NEXT_PUBLIC_API_URL` en el frontend apuntando a la URL publica del backend. +El despliegue de Coolify usa `docker-compose.yaml`, que construye una sola imagen con `Dockerfile.coolify`: + +- `Dockerfile.coolify` compila el frontend Next.js y prepara el backend FastAPI en la misma imagen. +- `scripts/start-coolify.sh` inicia FastAPI en `127.0.0.1:8000` y Next.js en `0.0.0.0:3000`. +- Next.js redirige las rutas `/api/...` al backend interno mediante `frontend/next.config.mjs`. +- El volumen `station-data` mantiene `/app/data` persistente entre redeploys. + +En Coolify se debe usar `expose: "3000"`, no `ports: "3000:3000"`. Coolify/Traefik enruta el trafico hacia el puerto expuesto del contenedor. Publicar un puerto fijo del host puede romper el despliegue si otro contenedor ya usa ese puerto, con un error como: + +```text +Bind for 0.0.0.0:3000 failed: port is already allocated +``` + +Usa `ports` solo para pruebas locales cuando necesites acceder directamente desde tu maquina. Para Coolify, deja que el proxy gestione el puerto publico. ## Variables