Что есть сейчас — это установленные драйвера Nvidia Quadro P1000 на Ubuntu 24.04 LTS Server (ubuntu-24.04.5-live-server-amd64.iso) и в качестве железа выступает компьютер со следующими характеристиками:
Motherboard: Asus Prime H610M-R D4Bios: Ver 3810CPU: 12th Gen Intel® Core™i5-12400Speed: 4000MHzRAM: 16Gb (DDR4 3200MHz)Storage: M.2 Apacer AS2280P4 512Gb
и сегодня задача: это разобрать как связать Quadro P1000 + Ollama (GPU) + Open WebUI (GPU) на Ubuntu 24.04 LTS Server.
Шаг №1: Драйвера для видеокарты Nvidia Quadro P1000 установлены опираясь на заметку: "Сборка и настройка выделенной станции для LLM: Ubuntu 24.04 + Ollama"
Шаг №2: Разворачиваем фреймворк Ollama + скачиваем языковую модель llama3.1:8b:
за основу берем заметку:
"Пробуем фреймворк Ollama + языковая модель llama3:8b на Ubuntu 24.04 Server"
ekzorchik@srv-s2404a:~$ wget https://ollama.ai/install.sh
ekzorchik@srv-us2404a:~$ sudo sh ./install.sh
>>> Installing ollama to /usr/local
>>> Downloading ollama-linux-amd64.tar.zst
############################################################################################################### 100.0%
>>> Creating ollama user...
>>> Adding ollama user to render group...
>>> Adding ollama user to video group...
>>> Adding current user to ollama group...
>>> Creating ollama systemd service...
>>> Enabling and starting ollama service...
Created symlink /etc/systemd/system/default.target.wants/ollama.service → /etc/systemd/system/ollama.service.
>>> NVIDIA GPU installed.
ekzorchik@srv-us2404a:~$
ekzorchik@srv-s2404a:~$ sudo nano /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
Environment="OLLAMA_HOST=0.0.0.0"
[Install]
WantedBy=default.target
ekzorchik@srv-us2404a:~$ sudo systemctl daemon-reload
ekzorchik@srv-us2404a:~$ sudo systemctl restart ollama.service
ekzorchik@srv-us2404a:~$ sudo ss -tulpn | grep ollama
tcp LISTEN 0 4096 *:11434 *:* users:(("ollama",pid=1633,fd=3))
ekzorchik@srv-us2404a:~$
ekzorchik@srv-us2404a:~$ sudo ollama pull llama3.1:8b
pulling manifest
pulling 667b0c1932bc: 100% ▕███████████████████████████████████████████████████████ ▏ 4.9 GB/4.9 GB 110 MB/s 0s
verifying sha256 digest
writing manifest
success
ekzorchik@srv-us2404a:~$
ekzorchik@srv-us2404a:~$ ollama list
NAME ID SIZE MODIFIED
llama3.1:8b 46e0c10c039e 4.9 GB 28 seconds ago
ekzorchik@srv-us2404a:~$
Шаг №3: Устанавливаем в систему Docker & Docker Compose (на 22.09.2026):
опираемся на заметку: "Устанавливаем Docker & Docker Compose on Ubuntu 24.04 Server"
ekzorchik@srv-us2404a:~$ docker compose version
Docker Compose version v2.5.0
ekzorchik@srv-us2404a:~$ docker -v
Docker version 29.8.1, build 4a63305
Шаг №4: Прикручиваем взаимодействие с фреймворком ollama через Web—интерфейс посредством панели Open WebUI:
опираемся на заметку: "Взаимодействуем с ollama через Web-интерфейс на Ubuntu 24.04 LTS Server"
ekzorchik@srv-us2404a:~$ git config --global http.version HTTP/1.1
ekzorchik@srv-us2404a:~$ git config --global http.postBuffer 1572864
ekzorchik@srv-us2404a:~$ git clone https://github.com/open-webui/open-webui
т.к. у меня GPU есть в системе, то нужно запустить docker с его поддержкой:
ekzorchik@srv-us2404a:~$ cd open-webui/
ekzorchik@srv-us2404a:~/open-webui$
ekzorchik@srv-us2404a:~/open-webui$ docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
Unable to find image 'ghcr.io/open-webui/open-webui:ollama' locally
ollama: Pulling from open-webui/open-webui
a69cd39be090: Pull complete
551e251d236f: Pull complete
5607066c681f: Pull complete
4f4fb700ef54: Pull complete
2f14788b299d: Pull complete
246ac8b7cadc: Pull complete
2f49ca0457cc: Pull complete
b07a2d5ca901: Pull complete
f57cecf87087: Pull complete
9b30b134fd69: Pull complete
774043ccc8cc: Pull complete
dc22b8c341d9: Pull complete
ebdc97b065d2: Pull complete
5835db0f7345: Pull complete
fba636d4f755: Pull complete
c682813ed5d7: Pull complete
44136fa355b3: Download complete
d9f7dd8a8aa6: Download complete
0f352adffaa7: Download complete
Digest: sha256:8da1b14b73985f300daa9455efc325df1e21b7d3c399439e488a17e38f2eaf12
Status: Downloaded newer image for ghcr.io/open-webui/open-webui:ollama
0ced390116dc7903e855c2c0de60f575170368c0ae6eb3fec72c2ca8fa0677f2
docker: Error response from daemon: failed to discover GPU vendor from CDI: no known GPU vendor found
Run 'docker run --help' for more information
ekzorchik@srv-us2404a:~/open-webui$
ekzorchik@srv-us2404a:~/open-webui$ cd ~
ekzorchik@srv-us2404a:~$
Опачки, это что-то новое.
Ошибка здесь не в Open WebUI и не в образе. Образ успешно скачался, но Docker не может предоставить контейнеру NVIDIA GPU:
failed to discover GPU vendor from CDI: no known GPU vendor found
Скорее всего, на Ubuntu 24.04 установлен драйвер NVIDIA, но не установлен или неправильно настроен NVIDIA Container Toolkit.
ekzorchik@srv-us2404a:~$ nvidia-ctk --version
nvidia-ctk: command not found
ekzorchik@srv-us2404a:~$ nvidia-ctk cdi list
nvidia-ctk: command not found
ekzorchik@srv-us2404a:~$
Похоже, что не установлен пакет nvidia-container-toolkit
Устанавливаем:
ekzorchik@srv-us2404a:~$ curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list
deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://nvidia.github.io/libnvidia-container/stable/deb/$(ARCH) /
#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://nvidia.github.io/libnvidia-container/experimental/deb/$(ARCH) /
ekzorchik@srv-us2404a:~$
ekzorchik@srv-us2404a:~$ sudo apt-get update
ekzorchik@srv-us2404a:~$ export NVIDIA_CONTAINER_TOOLKIT_VERSION=1.20.1-1
ekzorchik@srv-us2404a:~$ sudo apt-get install -y \
nvidia-container-toolkit=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
nvidia-container-toolkit-base=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
libnvidia-container-tools=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
libnvidia-container1=${NVIDIA_CONTAINER_TOOLKIT_VERSION}
ekzorchik@srv-us2404a:~$ nvidia-ctk --version
NVIDIA Container Toolkit CLI version 1.20.1
commit: dffc40b4f820ce5c512633bac9e0418d0e05a2ee
ekzorchik@srv-us2404a:~$ nvidia-ctk cdi list
INFO[0000] Found 3 CDI devices
nvidia.com/gpu=0
nvidia.com/gpu=GPU-0fe62710-c0a2-f7e5-772e-7e83ff35f81c
nvidia.com/gpu=all
ekzorchik@srv-us2404a:~$
Шаг №5: Возвращаюсь к запуску Web—интерфейса в лице Open WebUI:
ekzorchik@srv-us2404a:~$ cd open-webui/
ekzorchik@srv-us2404a:~/open-webui$
ekzorchik@srv-us2404a:~/open-webui$ docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
docker: Error response from daemon: Conflict. The container name "/open-webui" is already in use by container "0ced390116dc7903e855c2c0de60f575170368c0ae6eb3fec72c2ca8fa0677f2". You have to remove (or rename) that container to be able to reuse that name.
Run 'docker run --help' for more information
ekzorchik@srv-us2404a:~/open-webui$
Нужно удалить контейнера и заново запустить его развертывание:
ekzorchik@srv-us2404a:~/open-webui$ docker rm -f open-webui
open-webui
ekzorchik@srv-us2404a:~/open-webui$ docker ps -a | grep open-webui
ekzorchik@srv-us2404a:~/open-webui$
ekzorchik@srv-us2404a:~/open-webui$ docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
c3cddcda3005eb50793c3718cad0c7d53f033f798ed7d48f4822cfbb6e6da7cf
docker: Error response from daemon: AMD CDI spec not found
Run 'docker run --help' for more information
ekzorchik@srv-us2404a:~/open-webui$
Хм, почему AMD? Это означает, что Docker пытается использовать AMD CDI, хотя у тебя NVIDIA Quadro P1000. Похоже, в конфигурации Docker/Container Toolkit осталась неправильная настройка CDI.
ekzorchik@srv-us2404a:~/open-webui$ grep -Rni amd /etc/docker /etc/cdi /etc/containerd 2>/dev/null
ekzorchik@srv-us2404a:~/open-webui$ sudo systemctl restart docker
ekzorchik@srv-us2404a:~/open-webui$ docker rm -f open-webui
open-webui
ekzorchik@srv-us2404a:~/open-webui$ docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
3a7729f1a2e3915e812c41cbac620b60527e82a7ad5b862be17ab413af99eb2d
ekzorchik@srv-us2404a:~/open-webui$
Ура! Ошибок нет.
ekzorchik@srv-us2404a:~/open-webui$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3a7729f1a2e3 ghcr.io/open-webui/open-webui:ollama "bash start.sh" 41 seconds ago Up 40 seconds (healthy) 0.0.0.0:3000->8080/tcp, [::]:3000->8080/tcp open-webui
ekzorchik@srv-us2404a:~/open-webui$
ekzorchik@srv-us2404a:~/open-webui$ cd ~
ekzorchik@srv-us2404a:~$
Шаг №6: Теперь дальнейшее взаимодействие через Web-браузер, узнаем IP адрес этой системы Ubuntu 24.04 LTS Server
ekzorchik@srv-us2404a:~$ ip r | head -n1 | awk '{print $9}'
192.168.10.15
ekzorchik@srv-us2404a:~$
и с основной системы в локальной сети запускаем браузер и в строке адреса указываем URL: http://192.168.10.15:3000
нажимаем "Давайте начнем"
Регистрируем администратора
Имя (Введите ваше полное имя): указываем, к примеру ekzorchikЭлектронная почта (Введите вашу электронную почту): указываем, к примеру support@ekzorchik.comПароль (Введите ваш пароль): указываем, к примеру 712mbddr@
и нажимаем "Создать аккаунт Администратора"
Далее производим настройки подключения к фреймворку и языковой модели:
в левом нижнем углу нажимаем на ekzorchik (это администратор) - Настройки
(ИИ) Подключения

и нажимаем "Сохранить"
(ИИ) Модели

переходим в модель llama3.1:8b через нажатие на "Карандашик"
и отключаем "Встроенные инструменты" путем снятия галочек со всего выбора, остаются только следующие возможности:

и нажимаем "Сохранить и обновить"
Шаг №7: Хотите видеть в консоли на сколько языковая модель нагружает Вашу видеокарту при обработке вашего запроса при работе в Web-интерфейсе или консоли командной строки:
ekzorchik@srv-us2404a:~$ apt-cache search nvtop
nvtop - Interactive NVIDIA GPU process monitor
ekzorchik@srv-us2404a:~$ sudo apt-get install -y nvtop

Ну что по итогу, даже на такой слабенькой видеокарте можно уже с чем-то да работать и тестировать, как наиграюсь то будет ли желание приобрести что-то более производительное. Нужно только понять для чего мне в практическом применение можно, как системному администратору взять на вооружение эти языковые модели.
Ну как бы опять и собственно и все что я хотел показать на этот раз, с уважением автор блога ekzorchik.