farwew commited on
Commit
516d2d9
·
verified ·
1 Parent(s): ccca2ca

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +31 -0
Dockerfile ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # --- build image python ---
2
+ FROM python:3.11-slim
3
+
4
+ # set workdir
5
+ WORKDIR /app
6
+
7
+ # install dependencies system (pandas needs build deps; slim may need libpq, build-essential)
8
+ RUN apt-get update && apt-get install -y --no-install-recommends \
9
+ build-essential \
10
+ gcc \
11
+ gfortran \
12
+ libblas-dev \
13
+ liblapack-dev \
14
+ && rm -rf /var/lib/apt/lists/*
15
+
16
+ # copy requirements and install
17
+ COPY requirements.txt /app/
18
+ RUN pip install --no-cache-dir -r requirements.txt
19
+
20
+ # copy app code
21
+ COPY . /app
22
+
23
+ # expose port
24
+ EXPOSE 8000
25
+
26
+ # environment variables (default CSV path can be overridden by docker run -e CSV_PATH=...)
27
+ ENV CSV_PATH=/app/generated_dummy_data.csv
28
+ ENV UVICORN_WORKERS=1
29
+
30
+ # command
31
+ CMD ["sh", "-c", "uvicorn main:app --host 0.0.0.0 --port 8000 --workers ${UVICORN_WORKERS}"]