buriiiii commited on
Commit
aae8f01
·
verified ·
1 Parent(s): e1d403a

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +37 -0
Dockerfile ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Step 1: Build Frontend
2
+ FROM node:20 AS frontend-builder
3
+ WORKDIR /app
4
+ COPY package*.json ./
5
+ RUN npm install
6
+ COPY . .
7
+ RUN npm run build
8
+
9
+ # Step 2: Final Image
10
+ FROM python:3.11-slim
11
+ WORKDIR /app
12
+
13
+ # Install system dependencies
14
+ RUN apt-get update && apt-get install -y --no-install-recommends \
15
+ build-essential \
16
+ && rm -rf /var/lib/apt/lists/*
17
+
18
+ # Copy backend requirements first for better caching
19
+ COPY backend/requirements.txt ./backend/
20
+ RUN pip install --no-cache-dir -r backend/requirements.txt
21
+
22
+ # Copy backend code and scripts
23
+ COPY backend ./backend
24
+ COPY scripts ./scripts
25
+
26
+ # Copy built frontend from Stage 1
27
+ COPY --from=frontend-builder /app/build ./build
28
+
29
+ # Environment variables setup (can be overridden in HF)
30
+ ENV PORT=7860
31
+ ENV PYTHONPATH=/app/backend
32
+
33
+ # Expose the standard HF Space port
34
+ EXPOSE 7860
35
+
36
+ # Command to run the unified application
37
+ CMD ["python", "backend/main.py"]