FROM node:20-alpine # Set working directory WORKDIR /app # Copy package files COPY frontend/package*.json ./ # Install dependencies RUN npm ci # Copy application code COPY frontend/ . # Build argument for API URL (used for default build) ARG NEXT_PUBLIC_API_URL=http://localhost:8001 ENV NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL} # Build the application RUN npm run build # Copy runtime config generation script COPY frontend/generate-config.sh /app/generate-config.sh RUN chmod +x /app/generate-config.sh # Expose port EXPOSE 3000 # Generate runtime config and start the application CMD ["/bin/sh", "-c", "/app/generate-config.sh && npm start"]