FROM node:22-alpine WORKDIR /app # Dynamic build arguments & environment variables ARG SITE_DOMAIN ARG SITE_URL ENV SITE_DOMAIN=$SITE_DOMAIN ENV SITE_URL=$SITE_URL ENV PORT=8080 ENV NODE_ENV=production # Install dependencies COPY package*.json ./ RUN npm ci # Copy application source files COPY . . # Build static production assets RUN npm run build # Expose web server port EXPOSE 8080 # Serve site with npm CMD ["npm", "start"]