All checks were successful
Build and Deploy Container / build_and_deploy (push) Successful in 40s
27 lines
571 B
Docker
27 lines
571 B
Docker
# Multi-stage build for Astro static site
|
|
FROM node:22-alpine AS builder
|
|
WORKDIR /app
|
|
|
|
# Install deps
|
|
COPY package*.json ./
|
|
RUN npm ci || npm install
|
|
|
|
# Copy sources and build static output
|
|
COPY . .
|
|
RUN npm run build
|
|
|
|
# ---- Runtime stage ----
|
|
FROM node:22-alpine AS runtime
|
|
WORKDIR /app
|
|
ENV NODE_ENV=production
|
|
ENV PORT=3000
|
|
ENV WEB_ROOT=/app/dist
|
|
ENV TZ=Europe/Berlin
|
|
ENV ASTRO_TELEMETRY_DISABLED=1
|
|
COPY --from=builder /app/dist /app/dist
|
|
COPY server.mjs /app/server.mjs
|
|
# Drop root: use the pre-created node user
|
|
USER node
|
|
#EXPOSE 3000
|
|
CMD ["node", "/app/server.mjs"]
|