File size: 2,275 Bytes
95ffafb
 
783f65d
464749e
b322bb5
f3e010b
 
 
464749e
f3e010b
464749e
b322bb5
34b88b6
 
95ffafb
 
 
 
 
 
 
 
 
 
 
b322bb5
34b88b6
 
 
b322bb5
f3e010b
95ffafb
 
 
 
 
 
b322bb5
95ffafb
 
 
99b12b9
95ffafb
 
b322bb5
95ffafb
 
 
b322bb5
95ffafb
 
b322bb5
f3e010b
464749e
b322bb5
6ad429f
 
 
464749e
b322bb5
b33a6ec
03675f9
95ffafb
b322bb5
b33a6ec
 
b322bb5
b68da6c
828c5f0
b322bb5
95ffafb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# syntax = docker/dockerfile:1.2

FROM python:3.8

# Create a non-root user
RUN useradd -m -u 1000 user
USER user
WORKDIR /home/user

ENV PATH="/home/user/.local/bin:$PATH"

# Install system packages needed for OpenCV and other dependencies
USER root
RUN apt-get update && \
    DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
        ca-certificates \
        curl \
        vim \
        sudo \
        default-jre \
        git \
        gcc \
        build-essential \
        libgl1-mesa-glx \
        libglib2.0-0 \
        netcat-openbsd \
    && rm -rf /var/lib/apt/lists/*
USER user

# Install Python dependencies
RUN pip install --no-cache-dir --upgrade pip setuptools wheel
RUN pip install --no-cache-dir openmim
RUN pip install --no-cache-dir torch==2.0.0
RUN mim install mmcv-full==1.7.0
RUN pip install --no-cache-dir mmdet==2.27.0
RUN pip install --no-cache-dir torchserve

# Clone and install xtcocoapi (a dependency for mmpose)
RUN git clone https://github.com/jin-s13/xtcocoapi.git
WORKDIR xtcocoapi
RUN pip install --no-cache-dir -r requirements.txt
RUN pip install -e .
WORKDIR /home/user

# Install additional Python packages
RUN pip install --no-cache-dir mmpose==0.29.0
RUN pip install --no-cache-dir torchvision==0.15.1 numpy==1.24.4

# Copy your application code
COPY --chown=user . .

# Install your application's Python dependencies
RUN pip install --no-cache-dir -e .

# Prepare TorchServe model-store and download necessary models
RUN mkdir -p /home/user/torchserve/model-store
RUN wget https://github.com/facebookresearch/AnimatedDrawings/releases/download/v0.0.1/drawn_humanoid_detector.mar -P /home/user/torchserve/model-store/
RUN wget https://github.com/facebookresearch/AnimatedDrawings/releases/download/v0.0.1/drawn_humanoid_pose_estimator.mar -P /home/user/torchserve/model-store/

# Copy TorchServe configuration files
COPY config.properties /home/user/torchserve/config.properties
# COPY config.local.properties /home/user/torchserve/config.local.properties  # Ensure this file exists

# Copy the start.sh script and set executable permissions
COPY --chmod=0755 start.sh /home/user/start.sh

# Expose necessary ports
EXPOSE 7860 8080 8081 8082

# Start both TorchServe and Gradio
CMD ["/home/user/start.sh"]