Local Text GenAI
Local Text GenAI
Abstract
If you’ve ever wanted to leverage your own “ChatGPT” at home, you have the ability with Ollama. I’ve included the instructions utilizing Docker and NVidia GPU(s).
Requirements
- Hardware
- Server
- NVidia GPU (8gb VRAM Minimum)
- Software
- Docker
- Debian/Ubuntu
- Proxmox 8.x (Optional)
- Portainer (Optional)
- NVidia GPU (Optional)
Docker Files Used
- Backend Ollama
- Backend GitHub
- Frontend Open WebUI
Guides
How to get GPU working
Install NVidia CUDA Toolkit
1
2
3
4
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-8
1
sudo apt-get install -y nvidia-open
1
sudo apt-key del 7fa2af80
1
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
1
sudo dpkg -i cuda-keyring_1.1-1_all.deb
1
sudo apt-get update
1
sudo apt-get install cuda-toolkit
1
sudo apt-get install nvidia-gds -y
1
sudo reboot
Install GPU Drivers on Host
Installing NVidia Linux Drivers
1
sudo apt install gcc -y
Install NVidia Container Toolkit
1
2
3
4
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
1
sudo apt-get update
1
sudo apt-get install -y nvidia-container-toolkit
1
sudo nvidia-ctk runtime configure --runtime=docker
1
sudo systemctl restart docker
1
nvidia-ctk runtime configure --runtime=docker --config=$HOME/.config/docker/daemon.json
1
systemctl --user restart docker
1
sudo nvidia-ctk config --set nvidia-container-cli.no-cgroups --in-place
Validate it works
``` sudo docker run –rm –runtime=nvidia –gpus all ubuntu nvidia-smi
This post is licensed under
CC BY 4.0
by the author.