ppt-tool/frontend/Dockerfile
Vadym Samoilenko e63f790cd8 Fix MSAL config: hardcode IDs + pass as Docker build args
NEXT_PUBLIC_* vars are baked at Next.js build time but were not
available during Docker build (web service had no env_file/build args).
Hardcode IDs as fallback in msalConfig.ts, also wire AZURE_AD_*
through Dockerfile ARGs and docker-compose build args.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 12:49:46 +00:00

32 lines
917 B
Docker

FROM node:20-alpine AS builder
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci
COPY . .
ENV API_INTERNAL_URL=http://api:8000
ARG AZURE_AD_TENANT_ID
ARG AZURE_AD_CLIENT_ID
ENV NEXT_PUBLIC_AZURE_TENANT_ID=$AZURE_AD_TENANT_ID
ENV NEXT_PUBLIC_AZURE_CLIENT_ID=$AZURE_AD_CLIENT_ID
RUN npm run build
FROM node:20-alpine
# Install Chromium for Puppeteer (used by PDF/PPTX export)
RUN apk add --no-cache chromium nss freetype harfbuzz ca-certificates ttf-freefont
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
ENV APP_DATA_DIRECTORY=/app_data
ENV TEMP_DIRECTORY=/tmp/deckforge
WORKDIR /app
COPY --from=builder /app/.next-build ./.next-build
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/package.json ./
COPY --from=builder /app/public ./public
COPY --from=builder /app/next.config.mjs ./
EXPOSE 3000
CMD ["npm", "start"]