FROM node:18-slim | |
WORKDIR /app | |
# Install dependencies first (for build cache efficiency) | |
COPY package*.json ./ | |
# Install all dependencies including dev so Vite is available during build and preview | |
RUN npm install | |
# Copy the rest of the source code | |
COPY . . | |
# Ensure non-root user (UID 1000) can write to the app directory at runtime (HF Spaces runs with uid 1000) | |
RUN chown -R 1000:1000 /app | |
# Switch to the non-root user | |
USER 1000 | |
# Default port for Hugging Face Spaces Docker runtime | |
ENV PORT 7860 | |
EXPOSE 7860 | |
# Start the app – this script builds then serves via Vite preview on $PORT | |
CMD ["npm", "run", "dev"] |