Dockerfile 3.09 KB
Newer Older
LiangLiu's avatar
LiangLiu committed
1
FROM pytorch/pytorch:2.8.0-cuda12.8-cudnn9-devel AS base
helloyongyang's avatar
helloyongyang committed
2

helloyongyang's avatar
helloyongyang committed
3
WORKDIR /app
4

helloyongyang's avatar
helloyongyang committed
5
6
7
ENV DEBIAN_FRONTEND=noninteractive
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
LiangLiu's avatar
LiangLiu committed
8
ENV LD_LIBRARY_PATH=/usr/local/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
helloyongyang's avatar
helloyongyang committed
9

Yang Yong(雍洋)'s avatar
Yang Yong(雍洋) committed
10
RUN apt-get update && apt-get install -y vim tmux zip unzip wget git git-lfs build-essential libibverbs-dev ca-certificates \
LiangLiu's avatar
LiangLiu committed
11
12
    curl iproute2 libsm6 libxext6 kmod ccache libnuma-dev libssl-dev flex bison libgtk-3-dev libpango1.0-dev \
    libsoup2.4-dev libnice-dev libopus-dev libvpx-dev libx264-dev libsrtp2-dev libglib2.0-dev libdrm-dev\
Yang Yong(雍洋)'s avatar
Yang Yong(雍洋) committed
13
    && apt-get clean && rm -rf /var/lib/apt/lists/* && git lfs install
helloyongyang's avatar
helloyongyang committed
14

LiangLiu's avatar
LiangLiu committed
15
RUN pip install --no-cache-dir packaging ninja cmake scikit-build-core uv meson ruff pre-commit fastapi uvicorn requests -U
helloyongyang's avatar
helloyongyang committed
16
17
18
19

RUN git clone https://github.com/vllm-project/vllm.git && cd vllm \
    && python use_existing_torch.py && pip install -r requirements/build.txt \
    && pip install --no-cache-dir --no-build-isolation -v -e .
helloyongyang's avatar
helloyongyang committed
20

helloyongyang's avatar
helloyongyang committed
21
22
RUN git clone https://github.com/sgl-project/sglang.git && cd sglang/sgl-kernel \
    && make build && make clean
helloyongyang's avatar
helloyongyang committed
23

helloyongyang's avatar
helloyongyang committed
24
RUN pip install --no-cache-dir diffusers transformers tokenizers accelerate safetensors opencv-python numpy imageio \
Yang Yong(雍洋)'s avatar
Yang Yong(雍洋) committed
25
    imageio-ffmpeg einops loguru qtorch ftfy easydict av
helloyongyang's avatar
helloyongyang committed
26

Yang Yong(雍洋)'s avatar
Yang Yong(雍洋) committed
27
RUN conda install conda-forge::ffmpeg=8.0.0 -y && ln -s /opt/conda/bin/ffmpeg /usr/bin/ffmpeg && conda clean -all -y
LiangLiu's avatar
LiangLiu committed
28

helloyongyang's avatar
helloyongyang committed
29
RUN git clone https://github.com/Dao-AILab/flash-attention.git --recursive
helloyongyang's avatar
helloyongyang committed
30

helloyongyang's avatar
helloyongyang committed
31
32
33
34
RUN cd flash-attention && python setup.py install && rm -rf build

RUN cd flash-attention/hopper && python setup.py install && rm -rf build

Yang Yong(雍洋)'s avatar
Yang Yong(雍洋) committed
35
RUN git clone https://github.com/ModelTC/SageAttention.git
helloyongyang's avatar
helloyongyang committed
36

Yang Yong(雍洋)'s avatar
Yang Yong(雍洋) committed
37
RUN cd SageAttention && CUDA_ARCHITECTURES="8.0,8.6,8.9,9.0,12.0" EXT_PARALLEL=4 NVCC_APPEND_FLAGS="--threads 8" MAX_JOBS=32 pip install --no-cache-dir -v -e .
helloyongyang's avatar
helloyongyang committed
38

39
40
41
42
RUN git clone https://github.com/KONAKONA666/q8_kernels.git

RUN cd q8_kernels && git submodule init && git submodule update && python setup.py install && rm -rf build

LiangLiu's avatar
LiangLiu committed
43
# cloud deploy
Yang Yong(雍洋)'s avatar
Yang Yong(雍洋) committed
44
45
46
47
RUN pip install --no-cache-dir aio-pika asyncpg>=0.27.0 aioboto3>=12.0.0 PyJWT alibabacloud_dypnsapi20170525==1.2.2 redis==6.4.0 tos

RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable
ENV PATH=/root/.cargo/bin:$PATH
LiangLiu's avatar
LiangLiu committed
48
49
50
51
52
53
54

RUN cd /opt \
    && wget https://mirrors.tuna.tsinghua.edu.cn/gnu//libiconv/libiconv-1.15.tar.gz \
    && tar zxvf libiconv-1.15.tar.gz \
    && cd libiconv-1.15 \
    && ./configure \
    && make \
Yang Yong(雍洋)'s avatar
Yang Yong(雍洋) committed
55
56
    && make install \
    && rm -rf /opt/libiconv-1.15
LiangLiu's avatar
LiangLiu committed
57
58
59
60
61
62
63

RUN cd /opt \
    && git clone https://github.com/GStreamer/gstreamer.git -b 1.24.12 --depth 1 \
    && cd gstreamer \
    && meson setup builddir \
    && meson compile -C builddir \
    && meson install -C builddir \
Yang Yong(雍洋)'s avatar
Yang Yong(雍洋) committed
64
65
    && ldconfig \
    && rm -rf /opt/gstreamer
LiangLiu's avatar
LiangLiu committed
66
67
68
69
70

RUN cd /opt \
    && git clone https://github.com/GStreamer/gst-plugins-rs.git -b gstreamer-1.24.12 --depth 1 \
    && cd gst-plugins-rs \
    && cargo build --package gst-plugin-webrtchttp --release \
Yang Yong(雍洋)'s avatar
Yang Yong(雍洋) committed
71
72
    && install -m 644 target/release/libgstwebrtchttp.so $(pkg-config --variable=pluginsdir gstreamer-1.0)/ \
    && rm -rf /opt/gst-plugins-rs
LiangLiu's avatar
LiangLiu committed
73
74
75

RUN ldconfig

helloyongyang's avatar
helloyongyang committed
76
WORKDIR /workspace