# Production image for the dezky customer portal (Nuxt 4 SSR). # Build context = this directory (apps/portal). # syntax=docker/dockerfile:1 FROM node:22-alpine AS build WORKDIR /app RUN corepack enable # Install deps first for layer caching (pnpm version comes from packageManager). COPY package.json pnpm-lock.yaml ./ RUN pnpm install --frozen-lockfile COPY . . RUN pnpm build FROM node:22-alpine AS runtime WORKDIR /app ENV NODE_ENV=production ENV HOST=0.0.0.0 ENV PORT=3000 ENV NUXT_PUBLIC_PORTAL_URL=https://app.dezky.eu # OIDC, NUXT_PUBLIC_AUTH_URL and PLATFORM_API_INTERNAL_URL are injected at # deploy time (see infrastructure/production/fleet/README.md). COPY --from=build /app/.output ./.output EXPOSE 3000 CMD ["node", ".output/server/index.mjs"]