getting started

Install on Ubuntu

Install Docker Engine on Ubuntu, add NVIDIA GPU support if you have a GPU, then pull and run DeepLM Ops.

This guide installs Docker Engine on Ubuntu and runs DeepLM Ops from the terminal. Docker Engine uses the machine's memory directly, so make sure at least 8 GB is free.

1. Install Docker Engine

The quickest way is Docker's install script:

bash
curl -fsSL https://get.docker.com | sh

Prefer to install from the apt repository? These are the steps from Docker's documentation:

bash
sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

See Docker's Ubuntu guide for the supported Ubuntu releases.

2. Run Docker without sudo

Add your user to the docker group, then log out and back in:

bash
sudo usermod -aG docker $USER

3. Check that Docker works

bash
docker --version
docker run --rm hello-world

4. Optional: NVIDIA GPU support

Skip this if you do not have an NVIDIA GPU. DeepLM Ops then runs on the CPU.

  1. Install the NVIDIA driver, and check that nvidia-smi shows your GPU.
  2. Install the NVIDIA Container Toolkit. Follow NVIDIA's install guide.
  3. Tell Docker to use it, then restart Docker:
bash
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
  1. Test that containers can see the GPU:
bash
docker run --rm --gpus all ubuntu nvidia-smi

5. Log in to the image registry

Accept the DeepLM GitHub org invite, then create a classic token with only read:packages. See Create your GitHub token.

Terminal
docker login ghcr.io -u <your-github-username>

Paste the token at the Password prompt. Docker keeps it unencrypted in ~/.docker/config.json on Linux without a credential helper, so never copy or share that file.

6. Pull the image

Terminal
docker pull ghcr.io/deeplm/dlm-ops-dev:0.1.1

7. Run it

This command starts the demo cluster, a sample campus cluster with made-up jobs.

Terminal
docker run -d --name dlm-ops -p 127.0.0.1:8090:8090 -v dlm-ops:/var/lib/dlm-ops --read-only --tmpfs /tmp --tmpfs "/run/dlm:uid=1000,gid=1000,mode=0700" --cap-drop ALL --security-opt no-new-privileges --pids-limit 256 --restart unless-stopped -e DLM_OPS_SLURM=replay ghcr.io/deeplm/dlm-ops-dev:0.1.1

To ask about your own machine instead, run it without -e DLM_OPS_SLURM=replay.

With an NVIDIA GPU

Add --gpus all right after docker run -d, not at the end:

Terminal, NVIDIA GPU
docker run -d --gpus all --name dlm-ops -p 127.0.0.1:8090:8090 -v dlm-ops:/var/lib/dlm-ops --read-only --tmpfs /tmp --tmpfs "/run/dlm:uid=1000,gid=1000,mode=0700" --cap-drop ALL --security-opt no-new-privileges --pids-limit 256 --restart unless-stopped -e DLM_OPS_SLURM=replay ghcr.io/deeplm/dlm-ops-dev:0.1.1

8. Open the chat page

Wait until the logs say "model ready". The first start downloads the model once (2.55 GiB).

Terminal
docker logs dlm-ops

Open the http://127.0.0.1:8090/#token=... link in your browser.

Stop it

Terminal
docker rm -f dlm-ops

Next steps

Try the sample questions, or see Common problems if something does not work.