dpv007 commited on
Commit
bf6e4b4
·
1 Parent(s): bed8441
Files changed (2) hide show
  1. Dockerfile +32 -0
  2. keystone-backend/requirements.txt +8 -0
Dockerfile CHANGED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Use an official lightweight Python image
2
+ FROM python:3.11-slim
3
+
4
+ # Create a non-root user (UID 1000 is required by Hugging Face Spaces)
5
+ RUN useradd -m -u 1000 user
6
+
7
+ # Set the working directory
8
+ WORKDIR /app
9
+
10
+ # Install system dependencies (required for Pillow and image processing)
11
+ RUN apt-get update && apt-get install -y \
12
+ build-essential \
13
+ libpq-dev \
14
+ && rm -rf /var/lib/apt/lists/*
15
+
16
+ # Copy requirements first to leverage Docker cache
17
+ COPY requirements.txt .
18
+
19
+ # Install Python dependencies
20
+ RUN pip install --no-cache-dir -r requirements.txt
21
+
22
+ # Copy the rest of the application code and assign ownership to the non-root user
23
+ COPY --chown=user:user . .
24
+
25
+ # Switch to the non-root user
26
+ USER user
27
+
28
+ # Hugging Face Spaces route web traffic to port 7860
29
+ EXPOSE 7860
30
+
31
+ # Start the FastAPI server
32
+ CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]
keystone-backend/requirements.txt ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ fastapi
2
+ uvicorn
3
+ sqlalchemy
4
+ alembic
5
+ supabase
6
+ python-multipart
7
+ pillow
8
+ python-dotenv