Spaces:
Paused
Paused
| 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;"] | |