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"]
