Jr SoulWolf
Add initial Dockerfile for Docker-based Space
8f02dbf
Raw
History Blame Contribute Delete
646 Bytes
# Use a multi-stage build to optimize the image
# Stage 1: Build the React frontend
FROM node:18-alpine AS frontend-builder
WORKDIR /app
COPY frontend/package.json frontend/package-lock.json ./
RUN npm install
COPY frontend/ .
RUN npm run build
# Stage 2: Set up the FastAPI backend
FROM python:3.9-slim
WORKDIR /app
COPY backend/requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY backend/ .
COPY --from=frontend-builder /app/dist/ ./frontend/dist/
# Expose port
EXPOSE 7860
# Environment variables
ENV GEMINI_API_KEY=${GEMINI_API_KEY}
# Run the app
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]