diff --git a/frontend/.dockerignore b/frontend/.dockerignore
index 3e328fd..c0fa193 100644
--- a/frontend/.dockerignore
+++ b/frontend/.dockerignore
@@ -16,8 +16,9 @@ build/
.vite/
*.timestamp-*
-# Secretos: docker-compose ya inyecta las variables vía `env_file`,
-# no necesitamos copiarlos al filesystem de la imagen.
+# Secretos: no subir `.env` al contexto de `docker build` (evita capas con claves).
+# `env_file` en compose aplica al proceso en ejecución del servicio, no al paso
+# `npm run build` del Dockerfile; las `VITE_*` deben estar disponibles ahí (ENV/ARG).
.env
.env.*
!.env.example
diff --git a/frontend/Dockerfile b/frontend/Dockerfile
index ce870c4..a410a8a 100644
--- a/frontend/Dockerfile
+++ b/frontend/Dockerfile
@@ -7,7 +7,11 @@ COPY package.json package-lock.json ./
RUN npm ci
COPY . .
-RUN npm run build # genera dist/ con base=/orcid2words/
+# `env_file` en docker-compose solo inyecta variables en el contenedor al ARRANCAR
+# (aquí nginx no usa Vite). `vite build` corre en esta fase y necesita `VITE_*`
+# ya definidas: `.env` no entra en el contexto de build (.dockerignore).
+ENV VITE_BASE_PATH=/orcid2words/
+RUN npm run build
# ── Serve stage ────────────────────────────────────────────────
FROM nginx:alpine
diff --git a/frontend/src/components/layout/Footer.jsx b/frontend/src/components/layout/Footer.jsx
index c8b7654..eb9b709 100644
--- a/frontend/src/components/layout/Footer.jsx
+++ b/frontend/src/components/layout/Footer.jsx
@@ -55,7 +55,7 @@ export default function Footer() {
de Jaén