FROM node:22.20-alpine

ENV ASTRO_TELEMETRY_DISABLED=1 \
    ASTRO_DISABLE_UPDATE_CHECK=true

WORKDIR /app
RUN chown node:node /app

USER node

COPY --chown=node:node package.json package-lock.json ./
RUN npm ci --no-audit --no-fund

COPY --chown=node:node . .

EXPOSE 4321

CMD ["./node_modules/.bin/astro", "dev"]
