|
|
|
|
|
|
|
|
|
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 |
|
|
|
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 . /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 |
|
|
|
|
|
|
|
USER 42420 |
|
WORKDIR /workspace |
|
|
|
|
|
|
|
|