24 lines
992 B
Docker
24 lines
992 B
Docker
# ── Build stage ────────────────────────────────────────────────
|
|
FROM node:20-alpine AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
COPY package.json package-lock.json ./
|
|
RUN npm ci
|
|
|
|
COPY . .
|
|
# `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=/orcid2sword/
|
|
RUN npm run build
|
|
|
|
# ── Serve stage ────────────────────────────────────────────────
|
|
FROM nginx:alpine
|
|
|
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
|
COPY --from=builder /app/dist /app/dist
|
|
|
|
EXPOSE 5173
|
|
CMD ["/bin/sh", "-c", "sed -i \"s|__API_KEY__|${API_KEY_VALUE:-$VITE_API_KEY}|g\" /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'"]
|