# --- Base --- FROM node:22-slim AS base WORKDIR /app COPY package.json package-lock.json* ./ # --- Dev --- FROM base AS dev RUN npm ci COPY . . ENV ASTRO_TELEMETRY_DISABLED=1 EXPOSE 4321 CMD ["npm", "run", "dev", "--", "--host", "0.0.0.0"] # --- Build --- FROM base AS build RUN npm ci COPY . . ENV ASTRO_TELEMETRY_DISABLED=1 RUN --mount=type=cache,target=/app/.astro \ npm run build # --- Prod --- FROM caddy:2-alpine AS prod COPY --from=build /app/dist /usr/share/caddy COPY Caddyfile.prod /etc/caddy/Caddyfile EXPOSE 4321