mirror of
https://github.com/axolotl-ai-cloud/axolotl.git
synced 2026-10-12 02:11:20 +00:00
34 lines
1.3 KiB
Plaintext
34 lines
1.3 KiB
Plaintext
# syntax=docker/dockerfile:1
|
|
ARG BASE_TAG=main
|
|
FROM axolotlai/axolotl-uv:$BASE_TAG
|
|
|
|
ENV HF_DATASETS_CACHE="/workspace/data/huggingface-cache/datasets"
|
|
ENV HF_HUB_CACHE="/workspace/data/huggingface-cache/hub"
|
|
ENV HF_HOME="/workspace/data/huggingface-cache"
|
|
ENV HF_XET_HIGH_PERFORMANCE="1"
|
|
|
|
EXPOSE 8888
|
|
EXPOSE 22
|
|
|
|
COPY scripts/cloud-entrypoint.sh /root/cloud-entrypoint.sh
|
|
COPY scripts/motd /etc/motd
|
|
|
|
RUN --mount=type=cache,target=/root/.cache/uv \
|
|
uv pip install jupyterlab notebook ipywidgets && \
|
|
jupyter lab clean
|
|
RUN apt update && \
|
|
apt install --yes --no-install-recommends openssh-server tmux iproute2 nvtop && \
|
|
rm -rf /var/cache/apt/archives && \
|
|
rm -rf /var/lib/apt/lists/* && \
|
|
mkdir -p ~/.ssh && \
|
|
chmod 700 ~/.ssh && \
|
|
printf "\n[[ -z \"\$TMUX\" ]] && { tmux attach-session -t ssh_tmux || tmux new-session -s ssh_tmux; exit; }\n" >> ~/.bashrc && \
|
|
printf "[ ! -z \"\$TERM\" -a -r /etc/motd ] && cat /etc/motd\n" >> ~/.bashrc && \
|
|
printf "source /workspace/axolotl-venv/bin/activate\n" >> ~/.bashrc && \
|
|
chmod +x /workspace/axolotl/scripts/cloud-entrypoint.sh && \
|
|
chmod +x /root/cloud-entrypoint.sh && \
|
|
echo 'set-option -g history-limit 5000' >> ~/.tmux.conf
|
|
|
|
ENTRYPOINT ["/root/cloud-entrypoint.sh"]
|
|
CMD ["sleep", "infinity"]
|