Initial commit: mini-erp (backend FastAPI + frontend React/Vite)
Base para el flujo de ramas por cliente. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
commit
ab3c613165
154 files changed
+16872
No files matched your search
@@ -0,0 +1,40 @@
|
||||
FROM node:20-alpine AS build
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Certificado extra de la empresa (VPN, proxy o antivirus corporativo que
|
||||
# intercepta HTTPS, ej. Zscaler/Netskope). Si mini-frontend/certs/ tiene un
|
||||
# archivo .pem/.crt, npm confía en él para poder salir a internet durante el
|
||||
# build. Si la carpeta está vacía (caso normal), este paso no hace nada.
|
||||
COPY certs/ /usr/local/share/extra-ca/
|
||||
COPY package.json package-lock.json ./
|
||||
RUN CERT_FILE=$(find /usr/local/share/extra-ca -maxdepth 1 -type f \( -name "*.pem" -o -name "*.crt" -o -name "*.cer" \) 2>/dev/null | head -n1); \
|
||||
if [ -n "$CERT_FILE" ]; then export NODE_EXTRA_CA_CERTS="$CERT_FILE"; fi; \
|
||||
npm ci
|
||||
|
||||
COPY . .
|
||||
|
||||
# Vite incrusta las variables VITE_* en el bundle en tiempo de build, no en
|
||||
# tiempo de ejecución — por eso se pasa como build arg y no como env var del
|
||||
# contenedor final. Debe ser la IP/hostname real del servidor donde corre el
|
||||
# backend dentro de la red de la empresa (no "localhost": eso resolvería a la
|
||||
# máquina de cada usuario, no al servidor).
|
||||
ARG VITE_API_URL
|
||||
ENV VITE_API_URL=${VITE_API_URL}
|
||||
|
||||
RUN npm run build
|
||||
|
||||
FROM nginx:alpine
|
||||
|
||||
# Zona horaria del contenedor. Por defecto Perú (America/Lima); cambiar el
|
||||
# build arg si se despliega para un cliente en otro país de Latinoamérica.
|
||||
ARG TZ=America/Lima
|
||||
ENV TZ=${TZ}
|
||||
RUN apk add --no-cache tzdata \
|
||||
&& ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime \
|
||||
&& echo ${TZ} > /etc/timezone
|
||||
|
||||
COPY --from=build /app/dist /usr/share/nginx/html
|
||||
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||
|
||||
EXPOSE 80
|
||||
Reference in new issue
Block a user