# Use NVIDIA CUDA image FROM nvidia/cuda:12.9.1-cudnn-devel-ubuntu24.04 # Remove any third-party apt sources to avoid issues with expiring keys. # Install some basic utilities RUN rm -f /etc/apt/sources.list.d/*.list && \ apt-get update && apt-get install -y --no-install-recommends \ curl \ ca-certificates \ sudo \ git \ wget \ procps \ git-lfs \ zip \ unzip \ htop \ vim \ nano \ bzip2 \ libx11-6 \ build-essential \ libsndfile-dev \ software-properties-common \ dumb-init \ && rm -rf /var/lib/apt/lists/* RUN add-apt-repository ppa:flexiondotorg/nvtop && \ apt-get upgrade -y && \ apt-get install -y --no-install-recommends nvtop RUN curl -sL https://deb.nodesource.com/setup_21.x | bash - && \ apt-get install -y nodejs npm RUN curl http://code-server.dev/install.sh -fsSL | bash RUN usermod -aG sudo ubuntu # Set the user as root with the custom name USER root # Expose the default port used by Visual Studio Code Server EXPOSE 7860 # Copy any additional extensions or settings you want to include # For example, if you have a list of extensions in a file called extensions.txt: # COPY extensions.txt /home/coder/extensions.txt # RUN cat /home/coder/extensions.txt | xargs -n 1 code-server --install-extension # Start Visual Studio Code Server on container startup with password protection ENTRYPOINT ["dumb-init", "code-server", "--bind-addr", "0.0.0.0:7860", ".", "--auth", "password"]