gabrielb commited on
Commit
4697a64
·
1 Parent(s): f6b66b9

feat : update requetment

Browse files
Files changed (2) hide show
  1. Dockerfile +13 -12
  2. requirements.txt +4 -5
Dockerfile CHANGED
@@ -1,31 +1,32 @@
1
  # veggie_model_service/Dockerfile
2
-
3
- # Base image
4
  FROM python:3.9-slim
5
 
6
- # Install dep OS untuk OpenCV
7
- RUN apt-get update && apt-get install -y \
 
 
 
 
8
  libgl1 \
9
  libglib2.0-0 \
10
  && rm -rf /var/lib/apt/lists/*
11
 
12
- # User non-root (standar HF)
13
  RUN useradd -m -u 1000 user
14
  USER user
15
  ENV PATH="/home/user/.local/bin:${PATH}"
16
 
17
- # Workdir
18
  WORKDIR /app
19
 
20
- # Install dependencies
21
  COPY --chown=user requirements.txt /app/requirements.txt
22
- RUN pip install --no-cache-dir --upgrade -r requirements.txt
 
23
 
24
- # Copy semua file proyek (app.py, model, scaler)
25
  COPY --chown=user . /app
26
 
27
- # Expose port HF
28
  EXPOSE 7860
29
 
30
- # Jalankan FastAPI via uvicorn
31
- CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
 
1
  # veggie_model_service/Dockerfile
 
 
2
  FROM python:3.9-slim
3
 
4
+ ENV PYTHONUNBUFFERED=1 \
5
+ PIP_NO_CACHE_DIR=1 \
6
+ PORT=7860
7
+
8
+ # deps OS untuk OpenCV
9
+ RUN apt-get update && apt-get install -y --no-install-recommends \
10
  libgl1 \
11
  libglib2.0-0 \
12
  && rm -rf /var/lib/apt/lists/*
13
 
14
+ # user non-root (standar HF)
15
  RUN useradd -m -u 1000 user
16
  USER user
17
  ENV PATH="/home/user/.local/bin:${PATH}"
18
 
 
19
  WORKDIR /app
20
 
21
+ # install deps dulu (biar layer cache enak)
22
  COPY --chown=user requirements.txt /app/requirements.txt
23
+ RUN python -m pip install --upgrade pip \
24
+ && python -m pip install --user -r /app/requirements.txt
25
 
26
+ # copy project
27
  COPY --chown=user . /app
28
 
 
29
  EXPOSE 7860
30
 
31
+ # pakai PORT dari HF kalau ada
32
+ CMD ["bash", "-lc", "uvicorn app:app --host 0.0.0.0 --port ${PORT}"]
requirements.txt CHANGED
@@ -1,11 +1,10 @@
1
- fastapi
2
- uvicorn[standard]
 
3
 
4
- tensorflow-cpu
5
  numpy
6
  scikit-learn
7
  scikit-image
8
  opencv-python-headless
9
  pillow
10
-
11
- # kalau di training kamu pakai library tambahan, tambahkan juga
 
1
+ fastapi>=0.100
2
+ uvicorn[standard]>=0.23
3
+ python-multipart>=0.0.6
4
 
 
5
  numpy
6
  scikit-learn
7
  scikit-image
8
  opencv-python-headless
9
  pillow
10
+ tensorflow-cpu