ygauravyy commited on
Commit
4e6448d
1 Parent(s): bdc9cca

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +71 -0
Dockerfile ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # syntax = docker/dockerfile:1.2
2
+
3
+ FROM python:3.8
4
+
5
+ # Create a non-root user
6
+ RUN useradd -m -u 1000 user
7
+ USER user
8
+ WORKDIR /home/user
9
+
10
+ ENV PATH="/home/user/.local/bin:$PATH"
11
+
12
+ # Install system packages needed for OpenCV and other dependencies
13
+ USER root
14
+ RUN apt-get update && \
15
+ DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
16
+ ca-certificates \
17
+ curl \
18
+ vim \
19
+ sudo \
20
+ default-jre \
21
+ git \
22
+ gcc \
23
+ build-essential \
24
+ libgl1-mesa-glx \
25
+ libglib2.0-0 \
26
+ netcat-openbsd \
27
+ && rm -rf /var/lib/apt/lists/*
28
+ USER user
29
+
30
+ # Install Python dependencies
31
+ RUN pip install --no-cache-dir --upgrade pip setuptools wheel
32
+ RUN pip install --no-cache-dir openmim
33
+ RUN pip install --no-cache-dir torch==2.0.0
34
+ RUN mim install mmcv-full==1.7.0
35
+ RUN pip install --no-cache-dir mmdet==2.27.0
36
+ RUN pip install --no-cache-dir torchserve
37
+
38
+ # Clone and install xtcocoapi (a dependency for mmpose)
39
+ RUN git clone https://github.com/jin-s13/xtcocoapi.git
40
+ WORKDIR xtcocoapi
41
+ RUN pip install --no-cache-dir -r requirements.txt
42
+ RUN pip install -e .
43
+ WORKDIR /home/user
44
+
45
+ # Install additional Python packages
46
+ RUN pip install --no-cache-dir mmpose==0.29.0
47
+ RUN pip install --no-cache-dir torchvision==0.15.1 numpy==1.24.4
48
+
49
+ # Copy your application code
50
+ COPY --chown=user . .
51
+
52
+ # Install your application's Python dependencies
53
+ RUN pip install --no-cache-dir -e .
54
+
55
+ # Prepare TorchServe model-store and download necessary models
56
+ RUN mkdir -p /home/user/torchserve/model-store
57
+ RUN wget https://github.com/facebookresearch/AnimatedDrawings/releases/download/v0.0.1/drawn_humanoid_detector.mar -P /home/user/torchserve/model-store/
58
+ RUN wget https://github.com/facebookresearch/AnimatedDrawings/releases/download/v0.0.1/drawn_humanoid_pose_estimator.mar -P /home/user/torchserve/model-store/
59
+
60
+ # Copy TorchServe configuration files
61
+ COPY config.properties /home/user/torchserve/config.properties
62
+ # COPY config.local.properties /home/user/torchserve/config.local.properties # Ensure this file exists
63
+
64
+ # Copy the start.sh script and set executable permissions
65
+ COPY --chmod=0755 start.sh /home/user/start.sh
66
+
67
+ # Expose necessary ports
68
+ EXPOSE 7860 8080 8081 8082
69
+
70
+ # Start both TorchServe and Gradio
71
+ CMD ["/home/user/start.sh"]