Seth0330 commited on
Commit
5e2088e
·
verified ·
1 Parent(s): 0f7cf4d

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +50 -0
Dockerfile ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ---------- 1) Build frontend (React + Vite) ----------
2
+ FROM node:20-alpine AS frontend-build
3
+ WORKDIR /frontend
4
+
5
+ # Install frontend dependencies
6
+ COPY frontend/package*.json ./
7
+ RUN npm install
8
+
9
+ # Copy rest of frontend and build
10
+ COPY frontend/ .
11
+ RUN npm run build
12
+ # Vite will output to /frontend/dist by default
13
+
14
+ # ---------- 2) Backend (FastAPI + Python) ----------
15
+ FROM python:3.11-slim
16
+
17
+ ENV PYTHONDONTWRITEBYTECODE=1
18
+ ENV PYTHONUNBUFFERED=1
19
+
20
+ WORKDIR /app
21
+
22
+ # System deps (optional but useful for some libs)
23
+ RUN apt-get update && apt-get install -y --no-install-recommends \
24
+ build-essential \
25
+ && rm -rf /var/lib/apt/lists/*
26
+
27
+ # Install backend dependencies
28
+ COPY backend/requirements.txt ./backend/requirements.txt
29
+ RUN pip install --no-cache-dir -r backend/requirements.txt
30
+
31
+ # Copy backend code
32
+ COPY backend ./backend
33
+
34
+ # Copy built frontend into backend/frontend_dist
35
+ # FastAPI will serve from this folder later
36
+ RUN mkdir -p backend/frontend_dist
37
+ COPY --from=frontend-build /frontend/dist ./backend/frontend_dist
38
+
39
+ # Create data directory for SQLite
40
+ RUN mkdir -p data
41
+
42
+ # Env vars used in backend/db.py etc.
43
+ ENV DB_PATH=/app/data/app.db
44
+ ENV PORT=7860
45
+ ENV PYTHONPATH=/app
46
+
47
+ EXPOSE 7860
48
+
49
+ # Launch FastAPI app (we'll use backend.app.main:app)
50
+ CMD ["uvicorn", "backend.app.main:app", "--host", "0.0.0.0", "--port", "7860"]