ARG NODE_VERSION ARG CADDY_VERSION # --- BUILD --- FROM node:${NODE_VERSION}-alpine AS build RUN corepack enable && corepack prepare pnpm@latest --activate ENV ASTRO_TELEMETRY_DISABLED=1 WORKDIR /app # Copy depedencies COPY package.json pnpm-lock.yaml ./ # Install pnpm with cache RUN --mount=type=cache,id=pnpm,target=/pnpm/store \ PNPM_HOME="/pnpm" pnpm install --frozen-lockfile # Copy all COPY . . # Check files RUN pnpm run lint RUN pnpm run check # Build RUN pnpm build # --- DEPLOY --- FROM caddy:${CADDY_VERSION}-alpine COPY --from=build /app/dist /usr/share/caddy COPY Caddyfile /etc/caddy/Caddyfile EXPOSE 80