FROM node:22-slim AS build WORKDIR /app COPY app/package*.json ./ RUN npm install COPY app/ . # Resolve public/data symlink to real directory RUN set -e; \ if [ -e public ] && [ ! -d public ]; then rm -f public; fi; \ mkdir -p public; \ if [ -L public/data ] || { [ -e public/data ] && [ ! -d public/data ]; }; then rm -f public/data; fi; \ mkdir -p public/data; \ cp -a src/content/assets/data/. public/data/ RUN npm run build # Install nginx RUN apt-get update && apt-get install -y nginx && apt-get clean && rm -rf /var/lib/apt/lists/* COPY nginx.conf /etc/nginx/nginx.conf # Set permissions RUN mkdir -p /var/cache/nginx /var/run /var/log/nginx /var/lib/nginx/body && \ chmod -R 777 /var/cache/nginx /var/run /var/log/nginx /var/lib/nginx /etc/nginx/nginx.conf && \ chmod -R 777 /app EXPOSE 7860 CMD ["nginx", "-g", "daemon off;"]