studio3d / Dockerfile
Studio3D Deploy
Fix: Dockerfile explicit src/public COPY + build verification
dc345d7
FROM node:18-alpine AS builder
WORKDIR /app
# Install dependencies
COPY package.json package-lock.json ./
RUN npm ci --legacy-peer-deps
# Copy source
COPY public ./public
COPY src ./src
COPY tsconfig.json ./
# Build (warnings are ok, not errors)
ENV CI=false
ENV NODE_OPTIONS=--max_old_space_size=4096
ENV GENERATE_SOURCEMAP=false
RUN npm run build
# Confirm build succeeded
RUN test -f /app/build/index.html && echo "BUILD OK" || (echo "BUILD FAILED" && exit 1)
RUN ls -lah /app/build/static/js/ | head -5
# ── Serve with nginx ──
FROM nginx:1.25-alpine
RUN rm /etc/nginx/conf.d/default.conf
COPY --from=builder /app/build /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
RUN mkdir -p /usr/share/nginx/html/assets /usr/share/nginx/html/outputs \
&& chmod -R 777 /usr/share/nginx/html \
&& chown -R nginx:nginx /usr/share/nginx/html \
&& chown -R nginx:nginx /var/cache/nginx \
&& chown -R nginx:nginx /var/log/nginx \
&& chown -R nginx:nginx /etc/nginx/conf.d \
&& touch /var/run/nginx.pid \
&& chown nginx:nginx /var/run/nginx.pid
USER nginx
EXPOSE 7860
CMD ["nginx", "-g", "daemon off;"]