Spaces:
Running
Running
# Stage 1: Build the frontend, and install server dependencies | |
FROM node:22 AS builder | |
WORKDIR /app | |
# Copy all files from the current directory | |
COPY . ./ | |
RUN echo "API_KEY=PLACEHOLDER" > ./.env | |
RUN echo "GEMINI_API_KEY=PLACEHOLDER" >> ./.env | |
# Install server dependencies | |
WORKDIR /app/server | |
RUN npm install | |
# Install dependencies and build the frontend | |
WORKDIR /app | |
RUN mkdir dist | |
RUN bash -c 'if [ -f package.json ]; then npm install && npm run build; fi' | |
# Stage 2: Build the final server image | |
FROM node:22 | |
WORKDIR /app | |
#Copy server files | |
COPY --from=builder /app/server . | |
# Copy built frontend assets from the builder stage | |
COPY --from=builder /app/dist ./dist | |
EXPOSE 3000 | |
CMD ["node", "server.js"] | |