IDEFICS3_ROCOv2 / Dockerfile
none
0.0.20
82a8009
# build with: docker build . --tag sctg/roco-idefics3:0.0.20 --tag sctg/roco-idefics3:latest --push
# run with
# docker run --gpus all --user=42420:42420 -p 7000-8000:7000-8000 -p 8080:8080 -e WANDB_API_KEY=wdkfjzfjz -e HF_TOKEN=hf_TOKEN -it sctg/roco-idefics3:0.0.20 bash -i /start.sh sleep infinity
# docker run --gpus all --user=42420:42420 -p 7000-8000:7000-8000 -p 8080:8080 -it sctg/roco-idefics3:0.0.20 bash -i /start.sh python /learn.py hf_...
FROM cloudflare/cloudflared:latest as cloudflared
FROM nvidia/cuda:12.6.2-cudnn-devel-ubuntu22.04
ARG NODE_MAJOR="20"
RUN /usr/sbin/addgroup --gid 42420 ovh
RUN /usr/sbin/useradd -u 42420 --gid 42420 -m -d /workspace -s /bin/bash ovh
RUN apt update -y && apt-get install -y cmake curl git git-lfs screen sudo \
&& mkdir -p /etc/apt/keyrings \
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install nodejs -y
COPY --chmod=777 start.sh /start.sh
COPY learn.py /learn.py
# Mandatory to run the jobs in rootless mode
USER root
RUN chown -R 42420:42420 /workspace
RUN echo "ovh ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
COPY --from=cloudflared /usr/local/bin/cloudflared /usr/local/bin/cloudflared
RUN curl -JL https://github.com/oauth2-proxy/oauth2-proxy/releases/download/v7.7.1/oauth2-proxy-v7.7.1.linux-amd64.tar.gz | tar -xz -C /usr/local/bin --strip-components=1
USER 42420
RUN curl -L https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh > /workspace/miniconda.sh
COPY bitsandbytes-0.45.0-cp312-cp312-linux_x86_64.whl /tmp/bitsandbytes-0.45.0-cp312-cp312-linux_x86_64.whl
RUN /bin/bash /workspace/miniconda.sh -b -p /workspace/.miniconda3
RUN . /workspace/.miniconda3/bin/activate && conda init --all
RUN . /workspace/.miniconda3/bin/activate \
&& pip install -U "safetensors>=0.4.5" \
&& pip install -U tensorflow \
&& pip install -U tf-keras \
&& pip install -U /tmp/bitsandbytes-0.45.0-cp312-cp312-linux_x86_64.whl \
&& pip install -U git+https://github.com/huggingface/transformers.git\
&& pip install huggingface_hub[cli] accelerate datasets peft\
&& pip install -U Pillow \
&& pip install -U torchvision torchaudio \
&& pip install jupyter_copilot \
&& pip install -U jupyterlab-git \
&& pip install -U jupyterlab-code-formatter \
&& pip install -U black isort \
&& pip install unsloth\
&& pip install gradio \
&& pip uninstall unsloth -y \
&& pip install --upgrade --no-cache-dir --no-deps git+https://github.com/unslothai/unsloth.git \
&& pip install wandb \
&& pip install spaces \
&& pip install -U mistune
COPY --chmod=777 libbitsandbytes_cuda124.so /workspace/.miniconda3/lib/python3.12/site-packages/bitsandbytes/libbitsandbytes_cuda124.so
COPY --chmod=777 libbitsandbytes_cuda126.so /workspace/.miniconda3/lib/python3.12/site-packages/bitsandbytes/libbitsandbytes_cuda126.so
#RUN rm -f /tmp/bitsandbytes-0.45.0-cp312-cp312-linux_x86_64.whl
RUN . /workspace/.miniconda3/bin/activate && conda install -y jupyter
RUN rm -f /workspace/miniconda.sh
RUN mkdir -p /workspace/.config/github-copilot/
COPY apps.json.enc /workspace/.config/github-copilot/apps.json.enc
COPY kaggle.json.enc /workspace/.config/kaggle.json.enc
COPY CFTOKEN.enc /workspace/.config/CFTOKEN.enc
COPY oauth2.cfg.enc /workspace/.config/oauth2.cfg.enc
# Mandatory to run the jobs in rootless mode
# USER root
# RUN chown -R 42420:42420 /workspace
USER 42420
WORKDIR /workspace
# RUN export HOME=/workspace && cd /workspace && . /workspace/.miniconda3/bin/activate \
# && mkdir -p /workspace/data \
# && python /preload.py