File size: 2,651 Bytes
873520c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
FROM nvcr.io/nvidia/cuda-dl-base:25.03-cuda12.8-devel-ubuntu24.04

WORKDIR /workspace

# Init
RUN apt update

# cv2 dependencies
RUN apt-get install ffmpeg libsm6 libxext6 -y

# Util
RUN apt-get install screen -y

# Oh-my-zsh
RUN sh -c "$(wget -O- https://github.com/deluan/zsh-in-docker/releases/download/v1.2.1/zsh-in-docker.sh)" -- \
    -t robbyrussell \
    -p git \
    -p https://github.com/zsh-users/zsh-autosuggestions \
    -p https://github.com/zsh-users/zsh-syntax-highlighting \
    -p history \
    -p fzf
RUN git clone --depth 1 https://github.com/junegunn/fzf.git --branch v0.61.0 --single-branch ~/.fzf
RUN ~/.fzf/install
RUN chsh -s /bin/zsh

# Python environment setup
# Miniconda
RUN mkdir -p /root/miniconda3 && \
    wget https://repo.anaconda.com/miniconda/Miniconda3-py310_25.1.1-2-Linux-x86_64.sh && \
    bash Miniconda3-py310_25.1.1-2-Linux-x86_64.sh -b -u -p /root/miniconda3 && \
    rm Miniconda3-py310_25.1.1-2-Linux-x86_64.sh && \
    source /root/miniconda3/bin/activate && \
    conda init --all && \
    conda install -c conda-forge libstdcxx-ng=14 -y

# HF Stuff
RUN source /root/miniconda3/bin/activate && \
    pip install hf_transfer

RUN mkdir -p /root/wheels

COPY wheels/flash_attn-2.7.4.post1-cp310-cp310-linux_x86_64.whl /root/wheels
COPY wheels/triton-3.3.0+git95326d9f-cp310-cp310-linux_x86_64.whl /root/wheels
COPY wheels/vllm-0.8.4.dev0+g296c657.d20250410.cu128-cp310-cp310-linux_x86_64.whl /root/wheels
COPY wheels/xformers-0.0.30+4fa0149.d20250410-cp310-cp310-linux_x86_64.whl /root/wheels

RUN /root/miniconda3/bin/pip install --force-reinstall torch torchvision torchaudio --pre --index-url https://download.pytorch.org/whl/nightly/cu128
RUN /root/miniconda3/bin/pip install /root/wheels/xformers-0.0.30+4fa0149.d20250410-cp310-cp310-linux_x86_64.whl
RUN /root/miniconda3/bin/pip install /root/wheels/flash_attn-2.7.4.post1-cp310-cp310-linux_x86_64.whl
RUN /root/miniconda3/bin/pip install /root/wheels/vllm-0.8.4.dev0+g296c657.d20250410.cu128-cp310-cp310-linux_x86_64.whl
RUN /root/miniconda3/bin/pip install /root/wheels/triton-3.3.0+git95326d9f-cp310-cp310-linux_x86_64.whl

# Clean up
RUN rm -rf /root/wheels
RUN /root/miniconda3/bin/pip cache purge

# SSH
RUN apt-get install openssh-server -y && \
    mkdir -p /root/.ssh && \
    chmod 700 /root/.ssh && \
    sed -i 's/#Port 22/Port 1022/' /etc/ssh/sshd_config

RUN echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILLRIFSAs+bubZQULKHVe7HG7oXhP2E7eqg2+Qn5sKsY zhaomh1998@outlook.com" >> /root/.ssh/authorized_keys
RUN chmod 600 /root/.ssh/authorized_keys

COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]