From 63f2d07bb3244207320ace9331ea353a72a58f5f Mon Sep 17 00:00:00 2001 From: Mireya Cueto Garrido Date: Tue, 2 Jun 2026 13:17:02 +0200 Subject: [PATCH] Fix public base path for Sinbad2 /deckofcars reverse proxy. This aligns frontend build defaults and CI deploy variables with the real proxy mount so the app is served under /deckofcars/generadorexamenesllm instead of falling back to the Sinbad homepage. --- .gitlab-ci.yml | 5 ++++- docker-compose.yml | 2 +- frontend/.env.example | 4 ++-- frontend/Dockerfile | 2 +- frontend/README.md | 10 +++++----- 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 484d76a..c2fe5d5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -46,7 +46,9 @@ deploy_to_sinbad2: export BACKEND_PORT=$BACKEND_PORT export FRONTEND_PORT=$FRONTEND_PORT - export ALLOWED_ORIGINS="http://sinbad2.ujaen.es,http://sinbad2.ujaen.es:$FRONTEND_PORT" + export ALLOWED_ORIGINS="https://sinbad2.ujaen.es,http://sinbad2.ujaen.es,http://sinbad2.ujaen.es:$FRONTEND_PORT" + export VITE_APP_BASE_PATH="/deckofcars/generadorexamenesllm/" + export VITE_API_URL="" docker compose down --remove-orphans docker compose build --no-cache frontend backend @@ -56,6 +58,7 @@ deploy_to_sinbad2: - echo "Despliegue completado." - echo "Backend -> http://sinbad2.ujaen.es:$BACKEND_PORT" - echo "Frontend -> http://sinbad2.ujaen.es:$FRONTEND_PORT" + - echo "Public URL -> https://sinbad2.ujaen.es/deckofcars/generadorexamenesllm/" only: - branches \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index e1e6854..e33df99 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -24,7 +24,7 @@ services: build: context: ./frontend args: - VITE_APP_BASE_PATH: ${VITE_APP_BASE_PATH:-/generadorexamenesllm/} + VITE_APP_BASE_PATH: ${VITE_APP_BASE_PATH:-/deckofcars/generadorexamenesllm/} VITE_API_URL: ${VITE_API_URL:-} VITE_GOOGLE_CLIENT_ID: ${VITE_GOOGLE_CLIENT_ID:-} ports: diff --git a/frontend/.env.example b/frontend/.env.example index 3197851..8b76127 100644 --- a/frontend/.env.example +++ b/frontend/.env.example @@ -1,6 +1,6 @@ # Base pública de la app cuando va tras proxy (debe terminar en /) -# Ejemplo producción UJA: /generadorexamenesllm/ -VITE_APP_BASE_PATH=/generadorexamenesllm/ +# Ejemplo producción UJA: /deckofcars/generadorexamenesllm/ +VITE_APP_BASE_PATH=/deckofcars/generadorexamenesllm/ # URL base del backend (accesible desde el navegador). # Si se deja vacía, usa la misma base de la app (recomendado tras proxy HTTPS). diff --git a/frontend/Dockerfile b/frontend/Dockerfile index 62b6cc6..5f119f3 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -2,7 +2,7 @@ FROM node:20-alpine AS build WORKDIR /app -ARG VITE_APP_BASE_PATH=/generadorexamenesllm/ +ARG VITE_APP_BASE_PATH=/deckofcars/generadorexamenesllm/ ARG VITE_API_URL= ARG VITE_GOOGLE_CLIENT_ID= ENV VITE_APP_BASE_PATH=$VITE_APP_BASE_PATH diff --git a/frontend/README.md b/frontend/README.md index 2ab1f90..d7beed8 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -38,7 +38,7 @@ npm run dev # http://sinbad2.ujaen.es:8075 | Variable | Descripción | | ----------------------- | -------------------------------------------------------- | -| `VITE_APP_BASE_PATH` | Base pública de la SPA (debe terminar en `/`). En producción UJA: `/generadorexamenesllm/`. | +| `VITE_APP_BASE_PATH` | Base pública de la SPA (debe terminar en `/`). En producción UJA: `/deckofcars/generadorexamenesllm/`. | | `VITE_API_URL` | URL base de la API. Si se deja vacía, usa la misma base pública de la app. | | `VITE_GOOGLE_CLIENT_ID` | (Opcional) Client ID de Google. Si está vacío, se oculta el botón de Google. | @@ -69,18 +69,18 @@ variables de entorno al ejecutar `docker compose`. Para ejecutarlo detrás de Apache en `https://sinbad2.ujaen.es/deckofcars` con: ```apache -ProxyPass /generadorexamenesllm http://host.docker.internal:8075/ -ProxyPassReverse /generadorexamenesllm http://host.docker.internal:8075/ +ProxyPass /deckofcars/generadorexamenesllm http://host.docker.internal:8075/ +ProxyPassReverse /deckofcars/generadorexamenesllm http://host.docker.internal:8075/ ``` usa estos valores de build: ```env -VITE_APP_BASE_PATH=/generadorexamenesllm/ +VITE_APP_BASE_PATH=/deckofcars/generadorexamenesllm/ VITE_API_URL= ``` -Con esto, el frontend sirve assets/rutas bajo `/generadorexamenesllm` y consume la API por HTTPS en la misma base (sin mixed content). +Con esto, el frontend sirve assets/rutas bajo `/deckofcars/generadorexamenesllm` y consume la API por HTTPS en la misma base (sin mixed content). ## Manejo de errores