Namespace
vastai
Image / Tag
base-image:cuda-13.1-mini-py310
Content Digest
sha256:4f4a04a3ff6b1cc154d7af7ea69c134f91c2a30adfe43e214048547a16616582
Details
Created

2026-01-08 11:07:16 UTC

Size

1.68 GB

Content Digest
Labels
  • maintainer
    Vast.ai Inc <contact@vast.ai>
  • org.opencontainers.image.description
    Base image suitable for Vast.ai.
  • org.opencontainers.image.ref.name
    ubuntu
  • org.opencontainers.image.source
    https://github.com/vastai/
  • org.opencontainers.image.version
    24.04

Environment
DATA_DIRECTORY

/workspace

DEBIAN_FRONTEND

noninteractive

NVIDIA_DRIVER_CAPABILITIES

all

PATH

/opt/instance-tools/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PIP_BREAK_SYSTEM_PACKAGES

1

PYTHONUNBUFFERED

1

PYTHON_VERSION

3.10

UV_CACHE_DIR

/.uv/cache

UV_LINK_MODE

copy

UV_NO_CACHE

1

UV_PYTHON_BIN_DIR

/.uv/python_bin

UV_PYTHON_INSTALL_DIR

/.uv/python_install

WORKSPACE

/workspace


Layers

[#000] sha256:20043066d3d5c78b45520c5707319835ac7d1f3d7f0dded0138ea0897d6a3188 - 1.65% (28.3 MB)

[#001] sha256:e5ce175f7353a58ddd36a4f582bd26456c8650fbec7729dda14361cf556f55a6 - 0.0% (1.53 KB)

[#002] sha256:fff05a8ab693151fbb9175f80415b53fc842d12663594c0d01568191c9e4416b - 0.0% (15.3 KB)

[#003] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#004] sha256:5eea247958ed7aa08a80848357cfa5f9c02743aadc6991124853a58b5fc882d2 - 0.52% (8.9 MB)

[#005] sha256:52e2ef7d5829909152902e5f735c7d872154688db74ea37479dd52820ae4592f - 32.88% (565 MB)

[#006] sha256:cbfc31ad0d51e2fd5a6094008eb5a49b7b03f5876336be53ca974d4c0669701b - 0.0% (1.55 KB)

[#007] sha256:7b62ba3584e770836b0675e9438c1bcae8e294e2b1cbf7be6d52c500bbfa841b - 0.0% (3.28 KB)

[#008] sha256:91a8d05a685e081b25a22c8113c20f120835a485cbf416e5d7b70160cc3b4a29 - 1.26% (21.7 MB)

[#009] sha256:8fe01d0432384a4197e4a1a8c452e4b118e25702e72aaff65f4d36e47907ef66 - 5.19% (89.1 MB)

[#010] sha256:73c87d5f6b6777733507eb01c69836ea3cba6be01829a7c8290c2a4df881500c - 0.0% (41.2 KB)

[#011] sha256:ca99da94971c708fd68ea6c9f5499f986c2d44bc17a2ca31289424ff3019e489 - 0.8% (13.7 MB)

[#012] sha256:15fa30cd49f89b3729886e9bc9fc08e1fb12b2daa76d10234d55cc6f4928b152 - 4.78% (82 MB)

[#013] sha256:90fb50db47c4eb6382173c18a38dfdbd18507664845275a43dd19c79ed14b079 - 9.2% (158 MB)

[#014] sha256:145913e6aa5418c64081563df8cd4f3854b3727775e6615c95187e6463f46b2f - 0.79% (13.6 MB)

[#015] sha256:af34a2daf3d0f301020582c03d2b9e6b66cc934ee23f4a7fb7019c8b4cd14576 - 12.07% (207 MB)

[#016] sha256:b7f8e6ff57d22ccbc77ceff3bacdce8b45b471aabac95b90c5ce2002694a664e - 0.0% (630 Bytes)

[#017] sha256:6c23e059451d27729bef4a0a2f5475fa48c6c7e80de2f4e910677a0343e5ad79 - 1.07% (18.4 MB)

[#018] sha256:8d7470e549838622d001e98e2dcc349a1f22f918a74e736825cbf376bff88a4c - 0.0% (117 Bytes)

[#019] sha256:0f899c068e83f5e62f2b7ef514c9293e191006f9b195f13dabad5e9aecd08387 - 0.0% (15.8 KB)

[#020] sha256:32dc9e5d393ab6944f367c87b5bd0e74aee251b8ee0802e00bdbdd6a140eae4e - 0.0% (15.7 KB)

[#021] sha256:bfd83e6305f8f1eb88a19a58b4535488781c6d917f9eeefec14cf8fbe027c69e - 0.0% (15.7 KB)

[#022] sha256:b04acf38aad409db06bdb79e175d94468ae592ea750dca97e6dc5a92d5d6b952 - 29.78% (512 MB)

[#023] sha256:24114e3e9ddfac44198a0d2455154b0e47a18a72eb318c26aa641d42c48bdca2 - 0.0% (119 Bytes)


History
2025-10-16 19:23:01 UTC

/bin/sh -c #(nop) ARG RELEASE

2025-10-16 19:23:01 UTC

/bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH

2025-10-16 19:23:01 UTC

/bin/sh -c #(nop) LABEL org.opencontainers.image.ref.name=ubuntu

2025-10-16 19:23:01 UTC

/bin/sh -c #(nop) LABEL org.opencontainers.image.version=24.04

2025-10-16 19:23:03 UTC

/bin/sh -c #(nop) ADD file:ddf1aa62235de6657123492b19d27d937c25668011b5ebf923a3f019200f8540 in /

2025-10-16 19:23:03 UTC

/bin/sh -c #(nop) CMD ["/bin/bash"]

2025-12-31 16:03:49 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.source=https://github.com/vastai/

2025-12-31 16:03:49 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.description=Base image suitable for Vast.ai.

2025-12-31 16:03:49 UTC (buildkit.dockerfile.v0)

LABEL maintainer=Vast.ai Inc <contact@vast.ai>

2025-12-31 16:03:49 UTC (buildkit.dockerfile.v0)

SHELL [/bin/bash -c umask 002 && /bin/bash -c "$@" -]

2025-12-31 16:03:49 UTC (buildkit.dockerfile.v0)

RUN /bin/bash -c umask 002 && /bin/bash -c "$@" - sed -i '1i umask 002' /root/.bashrc # buildkit

2025-12-31 19:31:19 UTC (buildkit.dockerfile.v0)

COPY ./ROOT/ / # buildkit

2025-12-31 19:31:19 UTC (buildkit.dockerfile.v0)

ENV DATA_DIRECTORY=/workspace

2025-12-31 19:31:19 UTC (buildkit.dockerfile.v0)

ENV WORKSPACE=/workspace

2025-12-31 19:31:19 UTC (buildkit.dockerfile.v0)

ENV PIP_BREAK_SYSTEM_PACKAGES=1

2025-12-31 19:31:19 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive

2025-12-31 19:31:19 UTC (buildkit.dockerfile.v0)

ENV PYTHONUNBUFFERED=1

2025-12-31 19:31:19 UTC (buildkit.dockerfile.v0)

ENV NVIDIA_DRIVER_CAPABILITIES=all

2025-12-31 19:31:19 UTC (buildkit.dockerfile.v0)

ARG BASE_IMAGE=ubuntu:24.04

2025-12-31 19:31:19 UTC (buildkit.dockerfile.v0)

RUN |1 BASE_IMAGE=ubuntu:24.04 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && if [[ "$BASE_IMAGE" == "nvidia/cuda:12.8"* ]]; then NCCL_VERSION=$(dpkg-query -W -f='${Version}' libnccl2 2>/dev/null | cut -d'-' -f1 || echo "0.0.0"); if dpkg --compare-versions "$NCCL_VERSION" lt "2.26.2"; then apt-get -y update; apt-get install -y --allow-change-held-packages libnccl2=2.26.2-1+cuda12.8 libnccl-dev=2.26.2-1+cuda12.8; fi; fi && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit

2025-12-31 19:32:00 UTC (buildkit.dockerfile.v0)

RUN |1 BASE_IMAGE=ubuntu:24.04 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && if ! command -v unminimize >/dev/null 2>&1; then apt-get update; apt-get install -y --no-install-recommends unminimize; fi && printf "%s\n%s" y y | unminimize && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit

2025-12-31 19:32:00 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=amd64

2025-12-31 19:34:12 UTC (buildkit.dockerfile.v0)

RUN |2 BASE_IMAGE=ubuntu:24.04 TARGETARCH=amd64 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && ([ $TARGETARCH = "arm64" ] && echo "Skipping i386 architecture for ARM builds" || dpkg --add-architecture i386) && apt-get update && apt-get upgrade -y && apt-get install --no-install-recommends -y acl bc ca-certificates gpg-agent software-properties-common locales lsb-release curl wget sudo moreutils nano vim less jq git git-lfs man tzdata fonts-dejavu fonts-freefont-ttf fonts-ubuntu ffmpeg mesa-utils-extra htop iotop strace libtcmalloc-minimal4 lsof procps psmisc nvtop rdma-core libibverbs1 ibverbs-providers libibumad3 librdmacm1 infiniband-diags build-essential cmake ninja-build gdb libssl-dev python3-full python3-dev python3-pip netcat-traditional net-tools dnsutils iproute2 iputils-ping traceroute dos2unix rsync rclone zip unzip xz-utils zstd linux-tools-common cron rsyslog clinfo pocl-opencl-icd opencl-headers ocl-icd-libopencl1 ocl-icd-dev ocl-icd-opencl-dev vulkan-tools && mkdir -p /etc/OpenCL/vendors && echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit

2025-12-31 19:34:12 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=amd64

2025-12-31 19:34:19 UTC (buildkit.dockerfile.v0)

RUN |2 BASE_IMAGE=ubuntu:24.04 TARGETARCH=amd64 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && if ! compgen -G "/etc/apt/sources.list.d/cuda*" > /dev/null && ! compgen -G "/etc/apt/sources.list.d/rocm*" > /dev/null; then UBUNTU_VERSION=$(. /etc/os-release && echo "$VERSION_ID" | tr -d '.') && if [[ "$TARGETARCH" = "amd64" ]]; then ARCH="x86_64"; elif [[ "$TARGETARCH" = "arm64" ]]; then ARCH="sbsa"; else echo "Unsupported TARGETARCH: ${TARGETARCH}. Cannot configure Nvidia CUDA repository." >&2; exit 1; fi && curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu${UBUNTU_VERSION}/${ARCH}/3bf863cc.pub | gpg --dearmor --yes -o /usr/share/keyrings/nvidia-cuda.gpg && echo "deb [signed-by=/usr/share/keyrings/nvidia-cuda.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu${UBUNTU_VERSION}/${ARCH} /" > /etc/apt/sources.list.d/cuda.list && apt-get update && apt-get clean && rm -rf /var/lib/apt/lists/*; fi # buildkit

2025-12-31 19:34:19 UTC (buildkit.dockerfile.v0)

RUN |2 BASE_IMAGE=ubuntu:24.04 TARGETARCH=amd64 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && useradd -ms /bin/bash user -u 1001 -g 0 && sed -i '1i umask 002' /home/user/.bashrc && echo "PATH=${PATH}" >> /home/user/.bashrc && echo "user ALL=(ALL) NOPASSWD:ALL" | tee /etc/sudoers.d/user && sudo chmod 0440 /etc/sudoers.d/user && mkdir -m 700 -p /run/user/1001 && chown 1001:0 /run/user/1001 && mkdir -p /run/dbus && mkdir -p /opt/workspace-internal/ # buildkit

2025-12-31 19:34:19 UTC (buildkit.dockerfile.v0)

ENV UV_CACHE_DIR=/.uv/cache

2025-12-31 19:34:19 UTC (buildkit.dockerfile.v0)

ENV UV_NO_CACHE=1

2025-12-31 19:34:19 UTC (buildkit.dockerfile.v0)

ENV UV_LINK_MODE=copy

2025-12-31 19:34:19 UTC (buildkit.dockerfile.v0)

ENV UV_PYTHON_BIN_DIR=/.uv/python_bin

2025-12-31 19:34:19 UTC (buildkit.dockerfile.v0)

ENV UV_PYTHON_INSTALL_DIR=/.uv/python_install

2025-12-31 19:34:21 UTC (buildkit.dockerfile.v0)

RUN |2 BASE_IMAGE=ubuntu:24.04 TARGETARCH=amd64 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && mkdir -p "${UV_CACHE_DIR}" "${UV_PYTHON_BIN_DIR}" "${UV_PYTHON_INSTALL_DIR}" && curl -LsSf https://astral.sh/uv/install.sh -o /tmp/uv-install.sh && chmod +x /tmp/uv-install.sh && UV_UNMANAGED_INSTALL=/usr/local/bin /tmp/uv-install.sh && rm -rf /tmp/* # buildkit

2025-12-31 19:34:28 UTC (buildkit.dockerfile.v0)

RUN |2 BASE_IMAGE=ubuntu:24.04 TARGETARCH=amd64 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && git clone https://github.com/nvm-sh/nvm.git /opt/nvm && (cd /opt/nvm/ && git checkout `git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1)`) && source /opt/nvm/nvm.sh && nvm install --lts # buildkit

2025-12-31 19:34:28 UTC (buildkit.dockerfile.v0)

COPY ./portal-aio /opt/portal-aio # buildkit

2025-12-31 19:34:29 UTC (buildkit.dockerfile.v0)

COPY /go/caddy /opt/portal-aio/caddy_manager/caddy # buildkit

2025-12-31 19:34:29 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=amd64

2025-12-31 19:34:37 UTC (buildkit.dockerfile.v0)

RUN |2 BASE_IMAGE=ubuntu:24.04 TARGETARCH=amd64 /bin/bash -c umask 002 && /bin/bash -c "$@" - chown -R 0:0 /opt/portal-aio && set -euo pipefail && uv venv --seed /opt/portal-aio/venv -p 3.11 && mkdir -m 770 -p /var/log/portal && chown 0:0 /var/log/portal/ && mkdir -p opt/instance-tools/bin/ && . /opt/portal-aio/venv/bin/activate && uv pip install -r /opt/portal-aio/requirements.txt && deactivate && wget -O /opt/portal-aio/tunnel_manager/cloudflared https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-${TARGETARCH} && chmod +x /opt/portal-aio/tunnel_manager/cloudflared && ln -s /opt/portal-aio/caddy_manager/caddy /opt/instance-tools/bin/caddy && ln -s /opt/portal-aio/tunnel_manager/cloudflared /opt/instance-tools/bin/cloudflared && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit

2025-12-31 19:35:23 UTC (buildkit.dockerfile.v0)

RUN |2 BASE_IMAGE=ubuntu:24.04 TARGETARCH=amd64 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && cd /opt && git clone https://github.com/vast-ai/vast-cli && wget -O /usr/local/share/ca-certificates/jvastai.crt https://console.vast.ai/static/jvastai_root.cer && update-ca-certificates && pip install --no-cache-dir --ignore-installed jupyter supervisor tensorboard magic-wormhole && mkdir -p /var/log/supervisor # buildkit

2025-12-31 19:35:23 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=amd64

2025-12-31 19:35:25 UTC (buildkit.dockerfile.v0)

RUN |2 BASE_IMAGE=ubuntu:24.04 TARGETARCH=amd64 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && SYNCTHING_VERSION="$(curl -fsSL "https://api.github.com/repos/syncthing/syncthing/releases/latest" | jq -r '.tag_name' | sed 's/[^0-9\.\-]*//g')" && SYNCTHING_URL="https://github.com/syncthing/syncthing/releases/download/v${SYNCTHING_VERSION}/syncthing-linux-${TARGETARCH}-v${SYNCTHING_VERSION}.tar.gz" && mkdir -p /opt/syncthing/config && mkdir -p /opt/syncthing/data && wget -O /opt/syncthing.tar.gz $SYNCTHING_URL && (cd /opt && tar -zxf syncthing.tar.gz -C /opt/syncthing/ --strip-components=1) && chown -R user:root /opt/syncthing && rm -f /opt/syncthing.tar.gz # buildkit

2025-12-31 19:35:25 UTC (buildkit.dockerfile.v0)

ARG BASE_IMAGE=ubuntu:24.04

2025-12-31 19:35:25 UTC (buildkit.dockerfile.v0)

ARG PYTHON_VERSION=3.10

2025-12-31 19:35:25 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.10

2025-12-31 20:29:29 UTC (buildkit.dockerfile.v0)

RUN |3 BASE_IMAGE=ubuntu:24.04 TARGETARCH=amd64 PYTHON_VERSION=3.10 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && curl -L -o /tmp/miniforge3.sh "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh" && bash /tmp/miniforge3.sh -b -p /opt/miniforge3 && /opt/miniforge3/bin/conda init && su -l user -c "/opt/miniforge3/bin/conda init" && mkdir -p /venv && /opt/miniforge3/bin/conda config --set auto_activate_base false && /opt/miniforge3/bin/conda config --set always_copy true && /opt/miniforge3/bin/conda config --set pip_interop_enabled true && /opt/miniforge3/bin/conda config --add envs_dirs /venv && /opt/miniforge3/bin/conda config --set env_prompt '({name}) ' && su -l user -c "/opt/miniforge3/bin/conda config --set auto_activate_base false" && su -l user -c "/opt/miniforge3/bin/conda config --set always_copy true" && su -l user -c "/opt/miniforge3/bin/conda config --set pip_interop_enabled true" && su -l user -c "/opt/miniforge3/bin/conda config --add envs_dirs /venv" && su -l user -c "/opt/miniforge3/bin/conda config --set env_prompt '({name}) '" && if [[ "$BASE_IMAGE" == *"nvidia"* ]]; then /opt/miniforge3/bin/conda config --add channels nvidia; su -l user -c "/opt/miniforge3/bin/conda config --add channels nvidia"; fi && /opt/miniforge3/bin/conda create -p /venv/main python="${PYTHON_VERSION}" -y && mkdir -p /venv/main/etc/conda/{activate.d,deactivate.d} && echo 'echo -e "\033[32mActivated conda/uv virtual environment at \033[36m$(realpath $CONDA_PREFIX)\033[0m"' > /venv/main/etc/conda/activate.d/environment.sh && /opt/miniforge3/bin/conda clean -ay && rm -rf /tmp/* # buildkit

2025-12-31 20:29:29 UTC (buildkit.dockerfile.v0)

RUN |3 BASE_IMAGE=ubuntu:24.04 TARGETARCH=amd64 PYTHON_VERSION=3.10 /bin/bash -c umask 002 && /bin/bash -c "$@" - cat <<'CONDA_ACTIVATION_SCRIPT' > /venv/main/bin/activate if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then echo "This script must be sourced: source bin/activate" exit 1 fi # Define deactivate function deactivate() { # Deactivate conda environment if type conda &> /dev/null; then conda deactivate 2>/dev/null || true fi # Unset the deactivate function itself unset -f deactivate # Return success return 0 } # Check if conda is properly initialized by testing for the conda shell function # (not just the command existence) if ! type conda &> /dev/null || ! declare -F conda &> /dev/null; then # Add condabin to PATH if not already there if [[ "$PATH" != *"/opt/miniforge3/condabin"* ]]; then export PATH="/opt/miniforge3/condabin:$PATH" fi # Source the conda shell script to load shell functions if [[ -f /opt/miniforge3/etc/profile.d/conda.sh ]]; then source /opt/miniforge3/etc/profile.d/conda.sh fi fi # Activate the conda environment conda activate "$(realpath /venv/main)" CONDA_ACTIVATION_SCRIPT # buildkit

2025-12-31 20:29:36 UTC (buildkit.dockerfile.v0)

RUN |3 BASE_IMAGE=ubuntu:24.04 TARGETARCH=amd64 PYTHON_VERSION=3.10 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && . /venv/main/bin/activate && uv pip install wheel huggingface-hub[cli] ipykernel ipywidgets && python -m ipykernel install --name="main" --display-name="Python3 (main venv)" && python -m ipykernel install --name="python3" --display-name="Python3 (ipykernel)" && deactivate && /usr/bin/pip install conda-pack ipykernel && /usr/bin/python3 -m ipykernel install --name="system-python" --display-name="Python3 (System)" && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit

2025-12-31 20:29:36 UTC (buildkit.dockerfile.v0)

ENV PATH=/opt/instance-tools/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2025-12-31 20:29:37 UTC (buildkit.dockerfile.v0)

RUN |3 BASE_IMAGE=ubuntu:24.04 TARGETARCH=amd64 PYTHON_VERSION=3.10 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && env-hash > /.env_hash # buildkit

2025-12-31 20:29:37 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/opt/instance-tools/bin/entrypoint.sh"]

2025-12-31 20:29:37 UTC (buildkit.dockerfile.v0)

CMD []

0001-01-01 00:00:00 UTC

0001-01-01 00:00:00 UTC

0001-01-01 00:00:00 UTC

2026-01-08 11:07:15 UTC (buildkit.dockerfile.v0)

ENV NVIDIA_DRIVER_CAPABILITIES=all

2026-01-08 11:07:15 UTC (buildkit.dockerfile.v0)

ARG CUDA_VERSION=13.1

2026-01-08 11:07:15 UTC (buildkit.dockerfile.v0)

RUN |1 CUDA_VERSION=13.1 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && cuda_version="${CUDA_VERSION/./-}" && apt-get update && apt-get install -y --no-install-recommends "cuda-nvcc-${cuda_version}" "cuda-cccl-${cuda_version}" "cuda-nvrtc-${cuda_version}" "cuda-compat-${cuda_version}" libnccl2 && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit

2026-01-08 11:07:16 UTC (buildkit.dockerfile.v0)

RUN |1 CUDA_VERSION=13.1 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && env-hash > /.env_hash # buildkit

Details
Created

2026-01-08 11:08:52 UTC

Size

1.57 GB

Content Digest
Labels
  • maintainer
    Vast.ai Inc <contact@vast.ai>
  • org.opencontainers.image.description
    Base image suitable for Vast.ai.
  • org.opencontainers.image.ref.name
    ubuntu
  • org.opencontainers.image.source
    https://github.com/vastai/
  • org.opencontainers.image.version
    24.04

Environment
DATA_DIRECTORY

/workspace

DEBIAN_FRONTEND

noninteractive

NVIDIA_DRIVER_CAPABILITIES

all

PATH

/opt/instance-tools/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PIP_BREAK_SYSTEM_PACKAGES

1

PYTHONUNBUFFERED

1

PYTHON_VERSION

3.10

UV_CACHE_DIR

/.uv/cache

UV_LINK_MODE

copy

UV_NO_CACHE

1

UV_PYTHON_BIN_DIR

/.uv/python_bin

UV_PYTHON_INSTALL_DIR

/.uv/python_install

WORKSPACE

/workspace


Layers

[#000] sha256:97dd3f0ce510a30a2868ff104e9ff286ffc0ef01284aebe383ea81e85e26a415 - 1.71% (27.5 MB)

[#001] sha256:d485ee2fd87d29a891efb045feef60f307030611cd351173c9d4202a9723ee5b - 0.0% (1.53 KB)

[#002] sha256:fff05a8ab693151fbb9175f80415b53fc842d12663594c0d01568191c9e4416b - 0.0% (15.3 KB)

[#003] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#004] sha256:24599d313aa19d3be49429a22622b27318dfadfa3b8a24a7bc2fae0076986422 - 0.56% (8.97 MB)

[#005] sha256:e546a78a1756fdbf2004ce96789ae2fe709ae55f799c8d8f6fdbec7b2d42865a - 32.55% (524 MB)

[#006] sha256:77d88b4997f221bb54edf664fa93450e6d584dbdc3dbc1518267b888920f9beb - 0.0% (1.55 KB)

[#007] sha256:9b976630f4e5197ca55760599869ce58e5a05e3f29630bad71ced8b7ba86457e - 0.0% (3.28 KB)

[#008] sha256:845e3a24d246191c0cc0fec04bad3ea93bf255f44655ed8ce9682294ac147cca - 1.3% (21 MB)

[#009] sha256:aeb329a26be92080be2d67ae35ca1f2d6a1b8be0fe7215054b2659a432f76a30 - 5.47% (88.1 MB)

[#010] sha256:e5d4bf80ded88de6e423dd42f6060746caca64703dfa29bdbf96191a4ab534a8 - 0.0% (41.2 KB)

[#011] sha256:3edd1ee5a342095115a6c6998b9fa51d7188d621155bdc14bc31435a71b7c5cf - 0.79% (12.7 MB)

[#012] sha256:2c4ca5542ea38f97bd87308cd79def62591d67d16b2bb860a5e344f55a9930ac - 4.92% (79.3 MB)

[#013] sha256:052e4a30b8cd3a7b458845853577fd5ad5aea28cb73614fbaadf58221095590f - 9.3% (150 MB)

[#014] sha256:63819783ebf7414037c41f9706cb754bf32944f200bd6250977e06717f33d83b - 0.79% (12.8 MB)

[#015] sha256:a9fe6606d26e266eb8560fc7b9e222895871107a741989a1d88036d3a0bd6803 - 10.4% (168 MB)

[#016] sha256:43cd166920cb588f586cc56d6f9b0eafd76fe6f628d7c962965d4872e0c88fd2 - 0.0% (632 Bytes)

[#017] sha256:6a08735bbe097ae32363ed2deec955a43135ca01e8b718ec5e28931a77f81030 - 1.26% (20.3 MB)

[#018] sha256:50f5dddbe0838f395e617dab5568d8906e92a713847e6c30d783275f50672258 - 0.0% (119 Bytes)

[#019] sha256:0f899c068e83f5e62f2b7ef514c9293e191006f9b195f13dabad5e9aecd08387 - 0.0% (15.8 KB)

[#020] sha256:32dc9e5d393ab6944f367c87b5bd0e74aee251b8ee0802e00bdbdd6a140eae4e - 0.0% (15.7 KB)

[#021] sha256:bfd83e6305f8f1eb88a19a58b4535488781c6d917f9eeefec14cf8fbe027c69e - 0.0% (15.7 KB)

[#022] sha256:d7b3952429cb5123308f6d913c24a8fa9f74f1ccaeeec2a7901f5be325c2ccd2 - 30.95% (499 MB)

[#023] sha256:afb77fd5f1c28dc643e86abd706e324977416a7042ffec46944c225ee32bea9f - 0.0% (118 Bytes)


History
2025-10-16 19:26:52 UTC

/bin/sh -c #(nop) ARG RELEASE

2025-10-16 19:26:52 UTC

/bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH

2025-10-16 19:26:52 UTC

/bin/sh -c #(nop) LABEL org.opencontainers.image.ref.name=ubuntu

2025-10-16 19:26:52 UTC

/bin/sh -c #(nop) LABEL org.opencontainers.image.version=24.04

2025-10-16 19:26:58 UTC

/bin/sh -c #(nop) ADD file:44fdb45bd3a8d9bd9c66b716aa0bb6ee11b6fbcceb59ee0eb54165785a35dfcb in /

2025-10-16 19:26:58 UTC

/bin/sh -c #(nop) CMD ["/bin/bash"]

2025-12-31 16:03:49 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.source=https://github.com/vastai/

2025-12-31 16:03:49 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.description=Base image suitable for Vast.ai.

2025-12-31 16:03:49 UTC (buildkit.dockerfile.v0)

LABEL maintainer=Vast.ai Inc <contact@vast.ai>

2025-12-31 16:03:49 UTC (buildkit.dockerfile.v0)

SHELL [/bin/bash -c umask 002 && /bin/bash -c "$@" -]

2025-12-31 16:03:49 UTC (buildkit.dockerfile.v0)

RUN /bin/bash -c umask 002 && /bin/bash -c "$@" - sed -i '1i umask 002' /root/.bashrc # buildkit

2025-12-31 19:31:19 UTC (buildkit.dockerfile.v0)

COPY ./ROOT/ / # buildkit

2025-12-31 19:31:19 UTC (buildkit.dockerfile.v0)

ENV DATA_DIRECTORY=/workspace

2025-12-31 19:31:19 UTC (buildkit.dockerfile.v0)

ENV WORKSPACE=/workspace

2025-12-31 19:31:19 UTC (buildkit.dockerfile.v0)

ENV PIP_BREAK_SYSTEM_PACKAGES=1

2025-12-31 19:31:19 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive

2025-12-31 19:31:19 UTC (buildkit.dockerfile.v0)

ENV PYTHONUNBUFFERED=1

2025-12-31 19:31:19 UTC (buildkit.dockerfile.v0)

ENV NVIDIA_DRIVER_CAPABILITIES=all

2025-12-31 19:31:19 UTC (buildkit.dockerfile.v0)

ARG BASE_IMAGE=ubuntu:24.04

2025-12-31 19:31:20 UTC (buildkit.dockerfile.v0)

RUN |1 BASE_IMAGE=ubuntu:24.04 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && if [[ "$BASE_IMAGE" == "nvidia/cuda:12.8"* ]]; then NCCL_VERSION=$(dpkg-query -W -f='${Version}' libnccl2 2>/dev/null | cut -d'-' -f1 || echo "0.0.0"); if dpkg --compare-versions "$NCCL_VERSION" lt "2.26.2"; then apt-get -y update; apt-get install -y --allow-change-held-packages libnccl2=2.26.2-1+cuda12.8 libnccl-dev=2.26.2-1+cuda12.8; fi; fi && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit

2025-12-31 19:34:51 UTC (buildkit.dockerfile.v0)

RUN |1 BASE_IMAGE=ubuntu:24.04 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && if ! command -v unminimize >/dev/null 2>&1; then apt-get update; apt-get install -y --no-install-recommends unminimize; fi && printf "%s\n%s" y y | unminimize && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit

2025-12-31 19:34:51 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm64

2025-12-31 19:47:52 UTC (buildkit.dockerfile.v0)

RUN |2 BASE_IMAGE=ubuntu:24.04 TARGETARCH=arm64 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && ([ $TARGETARCH = "arm64" ] && echo "Skipping i386 architecture for ARM builds" || dpkg --add-architecture i386) && apt-get update && apt-get upgrade -y && apt-get install --no-install-recommends -y acl bc ca-certificates gpg-agent software-properties-common locales lsb-release curl wget sudo moreutils nano vim less jq git git-lfs man tzdata fonts-dejavu fonts-freefont-ttf fonts-ubuntu ffmpeg mesa-utils-extra htop iotop strace libtcmalloc-minimal4 lsof procps psmisc nvtop rdma-core libibverbs1 ibverbs-providers libibumad3 librdmacm1 infiniband-diags build-essential cmake ninja-build gdb libssl-dev python3-full python3-dev python3-pip netcat-traditional net-tools dnsutils iproute2 iputils-ping traceroute dos2unix rsync rclone zip unzip xz-utils zstd linux-tools-common cron rsyslog clinfo pocl-opencl-icd opencl-headers ocl-icd-libopencl1 ocl-icd-dev ocl-icd-opencl-dev vulkan-tools && mkdir -p /etc/OpenCL/vendors && echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit

2025-12-31 19:47:52 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm64

2025-12-31 19:48:21 UTC (buildkit.dockerfile.v0)

RUN |2 BASE_IMAGE=ubuntu:24.04 TARGETARCH=arm64 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && if ! compgen -G "/etc/apt/sources.list.d/cuda*" > /dev/null && ! compgen -G "/etc/apt/sources.list.d/rocm*" > /dev/null; then UBUNTU_VERSION=$(. /etc/os-release && echo "$VERSION_ID" | tr -d '.') && if [[ "$TARGETARCH" = "amd64" ]]; then ARCH="x86_64"; elif [[ "$TARGETARCH" = "arm64" ]]; then ARCH="sbsa"; else echo "Unsupported TARGETARCH: ${TARGETARCH}. Cannot configure Nvidia CUDA repository." >&2; exit 1; fi && curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu${UBUNTU_VERSION}/${ARCH}/3bf863cc.pub | gpg --dearmor --yes -o /usr/share/keyrings/nvidia-cuda.gpg && echo "deb [signed-by=/usr/share/keyrings/nvidia-cuda.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu${UBUNTU_VERSION}/${ARCH} /" > /etc/apt/sources.list.d/cuda.list && apt-get update && apt-get clean && rm -rf /var/lib/apt/lists/*; fi # buildkit

2025-12-31 19:48:22 UTC (buildkit.dockerfile.v0)

RUN |2 BASE_IMAGE=ubuntu:24.04 TARGETARCH=arm64 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && useradd -ms /bin/bash user -u 1001 -g 0 && sed -i '1i umask 002' /home/user/.bashrc && echo "PATH=${PATH}" >> /home/user/.bashrc && echo "user ALL=(ALL) NOPASSWD:ALL" | tee /etc/sudoers.d/user && sudo chmod 0440 /etc/sudoers.d/user && mkdir -m 700 -p /run/user/1001 && chown 1001:0 /run/user/1001 && mkdir -p /run/dbus && mkdir -p /opt/workspace-internal/ # buildkit

2025-12-31 19:48:22 UTC (buildkit.dockerfile.v0)

ENV UV_CACHE_DIR=/.uv/cache

2025-12-31 19:48:22 UTC (buildkit.dockerfile.v0)

ENV UV_NO_CACHE=1

2025-12-31 19:48:22 UTC (buildkit.dockerfile.v0)

ENV UV_LINK_MODE=copy

2025-12-31 19:48:22 UTC (buildkit.dockerfile.v0)

ENV UV_PYTHON_BIN_DIR=/.uv/python_bin

2025-12-31 19:48:22 UTC (buildkit.dockerfile.v0)

ENV UV_PYTHON_INSTALL_DIR=/.uv/python_install

2025-12-31 19:48:33 UTC (buildkit.dockerfile.v0)

RUN |2 BASE_IMAGE=ubuntu:24.04 TARGETARCH=arm64 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && mkdir -p "${UV_CACHE_DIR}" "${UV_PYTHON_BIN_DIR}" "${UV_PYTHON_INSTALL_DIR}" && curl -LsSf https://astral.sh/uv/install.sh -o /tmp/uv-install.sh && chmod +x /tmp/uv-install.sh && UV_UNMANAGED_INSTALL=/usr/local/bin /tmp/uv-install.sh && rm -rf /tmp/* # buildkit

2025-12-31 19:49:09 UTC (buildkit.dockerfile.v0)

RUN |2 BASE_IMAGE=ubuntu:24.04 TARGETARCH=arm64 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && git clone https://github.com/nvm-sh/nvm.git /opt/nvm && (cd /opt/nvm/ && git checkout `git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1)`) && source /opt/nvm/nvm.sh && nvm install --lts # buildkit

2025-12-31 19:49:09 UTC (buildkit.dockerfile.v0)

COPY ./portal-aio /opt/portal-aio # buildkit

2025-12-31 19:49:10 UTC (buildkit.dockerfile.v0)

COPY /go/caddy /opt/portal-aio/caddy_manager/caddy # buildkit

2025-12-31 19:49:10 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm64

2025-12-31 19:49:47 UTC (buildkit.dockerfile.v0)

RUN |2 BASE_IMAGE=ubuntu:24.04 TARGETARCH=arm64 /bin/bash -c umask 002 && /bin/bash -c "$@" - chown -R 0:0 /opt/portal-aio && set -euo pipefail && uv venv --seed /opt/portal-aio/venv -p 3.11 && mkdir -m 770 -p /var/log/portal && chown 0:0 /var/log/portal/ && mkdir -p opt/instance-tools/bin/ && . /opt/portal-aio/venv/bin/activate && uv pip install -r /opt/portal-aio/requirements.txt && deactivate && wget -O /opt/portal-aio/tunnel_manager/cloudflared https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-${TARGETARCH} && chmod +x /opt/portal-aio/tunnel_manager/cloudflared && ln -s /opt/portal-aio/caddy_manager/caddy /opt/instance-tools/bin/caddy && ln -s /opt/portal-aio/tunnel_manager/cloudflared /opt/instance-tools/bin/cloudflared && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit

2025-12-31 20:04:13 UTC (buildkit.dockerfile.v0)

RUN |2 BASE_IMAGE=ubuntu:24.04 TARGETARCH=arm64 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && cd /opt && git clone https://github.com/vast-ai/vast-cli && wget -O /usr/local/share/ca-certificates/jvastai.crt https://console.vast.ai/static/jvastai_root.cer && update-ca-certificates && pip install --no-cache-dir --ignore-installed jupyter supervisor tensorboard magic-wormhole && mkdir -p /var/log/supervisor # buildkit

2025-12-31 20:04:13 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm64

2025-12-31 20:04:18 UTC (buildkit.dockerfile.v0)

RUN |2 BASE_IMAGE=ubuntu:24.04 TARGETARCH=arm64 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && SYNCTHING_VERSION="$(curl -fsSL "https://api.github.com/repos/syncthing/syncthing/releases/latest" | jq -r '.tag_name' | sed 's/[^0-9\.\-]*//g')" && SYNCTHING_URL="https://github.com/syncthing/syncthing/releases/download/v${SYNCTHING_VERSION}/syncthing-linux-${TARGETARCH}-v${SYNCTHING_VERSION}.tar.gz" && mkdir -p /opt/syncthing/config && mkdir -p /opt/syncthing/data && wget -O /opt/syncthing.tar.gz $SYNCTHING_URL && (cd /opt && tar -zxf syncthing.tar.gz -C /opt/syncthing/ --strip-components=1) && chown -R user:root /opt/syncthing && rm -f /opt/syncthing.tar.gz # buildkit

2025-12-31 20:04:18 UTC (buildkit.dockerfile.v0)

ARG BASE_IMAGE=ubuntu:24.04

2025-12-31 20:04:18 UTC (buildkit.dockerfile.v0)

ARG PYTHON_VERSION=3.10

2025-12-31 20:04:18 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.10

2025-12-31 20:34:10 UTC (buildkit.dockerfile.v0)

RUN |3 BASE_IMAGE=ubuntu:24.04 TARGETARCH=arm64 PYTHON_VERSION=3.10 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && curl -L -o /tmp/miniforge3.sh "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh" && bash /tmp/miniforge3.sh -b -p /opt/miniforge3 && /opt/miniforge3/bin/conda init && su -l user -c "/opt/miniforge3/bin/conda init" && mkdir -p /venv && /opt/miniforge3/bin/conda config --set auto_activate_base false && /opt/miniforge3/bin/conda config --set always_copy true && /opt/miniforge3/bin/conda config --set pip_interop_enabled true && /opt/miniforge3/bin/conda config --add envs_dirs /venv && /opt/miniforge3/bin/conda config --set env_prompt '({name}) ' && su -l user -c "/opt/miniforge3/bin/conda config --set auto_activate_base false" && su -l user -c "/opt/miniforge3/bin/conda config --set always_copy true" && su -l user -c "/opt/miniforge3/bin/conda config --set pip_interop_enabled true" && su -l user -c "/opt/miniforge3/bin/conda config --add envs_dirs /venv" && su -l user -c "/opt/miniforge3/bin/conda config --set env_prompt '({name}) '" && if [[ "$BASE_IMAGE" == *"nvidia"* ]]; then /opt/miniforge3/bin/conda config --add channels nvidia; su -l user -c "/opt/miniforge3/bin/conda config --add channels nvidia"; fi && /opt/miniforge3/bin/conda create -p /venv/main python="${PYTHON_VERSION}" -y && mkdir -p /venv/main/etc/conda/{activate.d,deactivate.d} && echo 'echo -e "\033[32mActivated conda/uv virtual environment at \033[36m$(realpath $CONDA_PREFIX)\033[0m"' > /venv/main/etc/conda/activate.d/environment.sh && /opt/miniforge3/bin/conda clean -ay && rm -rf /tmp/* # buildkit

2025-12-31 20:34:10 UTC (buildkit.dockerfile.v0)

RUN |3 BASE_IMAGE=ubuntu:24.04 TARGETARCH=arm64 PYTHON_VERSION=3.10 /bin/bash -c umask 002 && /bin/bash -c "$@" - cat <<'CONDA_ACTIVATION_SCRIPT' > /venv/main/bin/activate if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then echo "This script must be sourced: source bin/activate" exit 1 fi # Define deactivate function deactivate() { # Deactivate conda environment if type conda &> /dev/null; then conda deactivate 2>/dev/null || true fi # Unset the deactivate function itself unset -f deactivate # Return success return 0 } # Check if conda is properly initialized by testing for the conda shell function # (not just the command existence) if ! type conda &> /dev/null || ! declare -F conda &> /dev/null; then # Add condabin to PATH if not already there if [[ "$PATH" != *"/opt/miniforge3/condabin"* ]]; then export PATH="/opt/miniforge3/condabin:$PATH" fi # Source the conda shell script to load shell functions if [[ -f /opt/miniforge3/etc/profile.d/conda.sh ]]; then source /opt/miniforge3/etc/profile.d/conda.sh fi fi # Activate the conda environment conda activate "$(realpath /venv/main)" CONDA_ACTIVATION_SCRIPT # buildkit

2025-12-31 20:35:47 UTC (buildkit.dockerfile.v0)

RUN |3 BASE_IMAGE=ubuntu:24.04 TARGETARCH=arm64 PYTHON_VERSION=3.10 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && . /venv/main/bin/activate && uv pip install wheel huggingface-hub[cli] ipykernel ipywidgets && python -m ipykernel install --name="main" --display-name="Python3 (main venv)" && python -m ipykernel install --name="python3" --display-name="Python3 (ipykernel)" && deactivate && /usr/bin/pip install conda-pack ipykernel && /usr/bin/python3 -m ipykernel install --name="system-python" --display-name="Python3 (System)" && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit

2025-12-31 20:35:47 UTC (buildkit.dockerfile.v0)

ENV PATH=/opt/instance-tools/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2025-12-31 20:35:50 UTC (buildkit.dockerfile.v0)

RUN |3 BASE_IMAGE=ubuntu:24.04 TARGETARCH=arm64 PYTHON_VERSION=3.10 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && env-hash > /.env_hash # buildkit

2025-12-31 20:35:50 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/opt/instance-tools/bin/entrypoint.sh"]

2025-12-31 20:35:50 UTC (buildkit.dockerfile.v0)

CMD []

0001-01-01 00:00:00 UTC

0001-01-01 00:00:00 UTC

0001-01-01 00:00:00 UTC

2026-01-08 11:08:48 UTC (buildkit.dockerfile.v0)

ENV NVIDIA_DRIVER_CAPABILITIES=all

2026-01-08 11:08:48 UTC (buildkit.dockerfile.v0)

ARG CUDA_VERSION=13.1

2026-01-08 11:08:48 UTC (buildkit.dockerfile.v0)

RUN |1 CUDA_VERSION=13.1 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && cuda_version="${CUDA_VERSION/./-}" && apt-get update && apt-get install -y --no-install-recommends "cuda-nvcc-${cuda_version}" "cuda-cccl-${cuda_version}" "cuda-nvrtc-${cuda_version}" "cuda-compat-${cuda_version}" libnccl2 && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit

2026-01-08 11:08:52 UTC (buildkit.dockerfile.v0)

RUN |1 CUDA_VERSION=13.1 /bin/bash -c umask 002 && /bin/bash -c "$@" - set -euo pipefail && env-hash > /.env_hash # buildkit

Danger Zone
Delete Tag

Please be careful as this will not just delete the reference but also the actual content!

For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.

Delete