FROM node:22-alpine WORKDIR /app # Install git (needed for cloning Quartz) RUN apk add --no-cache git # Update npm to latest version RUN npm install -g npm@latest # Clone Quartz repository RUN git clone https://github.com/jackyzha0/quartz.git quartz-repo # Move into Quartz directory WORKDIR /app/quartz-repo # Install Quartz dependencies RUN npm install # Install serve for static file serving RUN npm install -g serve # Create directories for content and output RUN mkdir -p /app/content /app/public # Copy entrypoint script COPY entrypoint.sh /app/entrypoint.sh RUN chmod +x /app/entrypoint.sh # Expose port EXPOSE 8080 # Set working directory back to app root WORKDIR /app CMD ["/app/entrypoint.sh"]