wyctorfogos commited on
Commit
46451dd
·
1 Parent(s): 059743b

feat: dockerização do serviço

Browse files
Files changed (4) hide show
  1. README.md +3 -6
  2. app.py +6 -10
  3. dockerfile +37 -0
  4. requirements.txt +2 -0
README.md CHANGED
@@ -1,13 +1,10 @@
1
  ---
2
  title: Multimodal Skin Lesion Explainability
3
- emoji: 🩺
4
  colorFrom: blue
5
  colorTo: indigo
6
- sdk: gradio
7
- sdk_version: "4.44.1"
8
- python_version: "3.10"
9
- app_file: app.py
10
- pinned: false
11
  license: mit
12
  ---
13
 
 
1
  ---
2
  title: Multimodal Skin Lesion Explainability
 
3
  colorFrom: blue
4
  colorTo: indigo
5
+ sdk: docker
6
+ app_port: 7860
7
+ startup_duration_timeout: 1h
 
 
8
  license: mit
9
  ---
10
 
app.py CHANGED
@@ -1,28 +1,24 @@
1
- import sys
2
  import os
 
3
  import logging
4
 
5
  logging.basicConfig(level=logging.INFO)
6
 
7
- logging.info("[app.py] starting...")
8
-
9
  ROOT = os.path.dirname(__file__)
10
  SRC = os.path.join(ROOT, "src")
11
- logging.info(f"[app.py] ROOT={ROOT}")
12
- logging.info(f"[app.py] SRC={SRC}")
13
 
14
  if SRC not in sys.path:
15
  sys.path.insert(0, SRC)
16
 
17
- logging.info("[app.py] importing main...")
18
  from main import demo
19
- logging.info("[app.py] imported main successfully")
20
 
21
  if __name__ == "__main__":
22
- logging.info("[app.py] launching gradio...")
 
 
 
23
  demo.launch(
24
  server_name="0.0.0.0",
25
- server_port=int(os.environ.get("PORT", 7860)),
26
- show_api=False,
27
  share=True
28
  )
 
 
1
  import os
2
+ import sys
3
  import logging
4
 
5
  logging.basicConfig(level=logging.INFO)
6
 
 
 
7
  ROOT = os.path.dirname(__file__)
8
  SRC = os.path.join(ROOT, "src")
 
 
9
 
10
  if SRC not in sys.path:
11
  sys.path.insert(0, SRC)
12
 
 
13
  from main import demo
 
14
 
15
  if __name__ == "__main__":
16
+ port = int(os.environ.get("PORT", 7860))
17
+
18
+ logging.info(f"Starting app on port {port}")
19
+
20
  demo.launch(
21
  server_name="0.0.0.0",
22
+ server_port=port,
 
23
  share=True
24
  )
dockerfile ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.10-slim
2
+
3
+ ENV PYTHONDONTWRITEBYTECODE=1 \
4
+ PYTHONUNBUFFERED=1 \
5
+ PIP_NO_CACHE_DIR=1 \
6
+ HF_HOME=/data/.huggingface \
7
+ PORT=7860
8
+
9
+ RUN useradd -m -u 1000 user
10
+
11
+ WORKDIR /app
12
+
13
+ RUN apt-get update && apt-get install -y --no-install-recommends \
14
+ build-essential \
15
+ gcc \
16
+ g++ \
17
+ git \
18
+ libglib2.0-0 \
19
+ libsm6 \
20
+ libxext6 \
21
+ libxrender1 \
22
+ libgomp1 \
23
+ && rm -rf /var/lib/apt/lists/*
24
+
25
+ COPY --chown=user requirements.txt /app/requirements.txt
26
+ RUN pip install --upgrade pip setuptools wheel && \
27
+ pip install -r /app/requirements.txt
28
+
29
+ COPY --chown=user . /app
30
+
31
+ USER user
32
+ ENV HOME=/home/user \
33
+ PATH=/home/user/.local/bin:$PATH
34
+
35
+ EXPOSE 7860
36
+
37
+ CMD ["python", "app.py"]
requirements.txt CHANGED
@@ -1,6 +1,8 @@
1
  torch==2.4.1
2
  torchvision==0.19.1
3
  optuna==4.2.1
 
 
4
  transformers==4.46.3
5
  matplotlib==3.7.5
6
  mlflow==2.17.2
 
1
  torch==2.4.1
2
  torchvision==0.19.1
3
  optuna==4.2.1
4
+ requests
5
+ gradio
6
  transformers==4.46.3
7
  matplotlib==3.7.5
8
  mlflow==2.17.2