Navigation panel
febrero 2025
L M X J V S D
 12
3456789
10111213141516
17181920212223
2425262728  

Configuración de Nvidia GTX 1060 en Proxmox, Docker y Ollama con WebUI

1. Habilitar IOMMU en Proxmox

Verificar si IOMMU está activado:

sudo dmesg | grep DMAR

Si ves una línea similar a DMAR: IOMMU enabled, entonces está activado.

Habilitar IOMMU si no lo está

Edita el archivo de configuración de GRUB:

sudo nano /etc/default/grub

Cambia la línea:

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

por:

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

Guarda los cambios (CTRL+X, Y, Enter) y actualiza GRUB:

sudo update-grub
sudo reboot

Habilitar IOMMU en la BIOS (si aún no lo has hecho):

  • Busca VT-d en la configuración del chipset y actívalo.

2. Passthrough de la GPU en Proxmox

Edita el archivo de módulos del kernel:

sudo nano /etc/modules

Agrega estas líneas:

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

Obtén el ID del dispositivo PCI de la GPU:

lspci -nn | grep -i nvidia

Verás una línea como:

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] [10de:1c03]
01:00.1 Audio device [0403]: NVIDIA Corporation GP106 High Definition Audio Controller [10de:10f1]

Edita /etc/modprobe.d/vfio.conf para asignar la GPU a VFIO:

sudo nano /etc/modprobe.d/vfio.conf

Añade:

options vfio-pci ids=10de:1c03,10de:10f1

Aplica los cambios y reinicia:

sudo update-initramfs -u
sudo reboot

3. Instalación de Docker y NVIDIA Container Toolkit

Instalar Docker:

sudo apt update
sudo apt install -y docker.io docker-compose
sudo systemctl enable --now docker

Instalar NVIDIA Container Toolkit:

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 #deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] #' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt update
sudo apt install -y nvidia-container-toolkit

Configura Docker para usar NVIDIA como runtime por defecto:

sudo nano /etc/docker/daemon.json

Añade:

{
  "runtimes": {
    "nvidia": {
      "path": "nvidia-container-runtime",
      "runtimeArgs": []
    }
  },
  "default-runtime": "nvidia"
}

Reinicia Docker:

sudo systemctl restart docker

Verifica que la GPU está disponible en Docker:

sudo docker run --rm --gpus all nvidia/cuda:12.2.0-runtime-ubuntu22.04 nvidia-smi

4. Configurar Ollama con Docker y GPU

Crea un archivo docker-compose.yml:

version: '3.8'
services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    volumes:
      - ollama:/root/.ollama
    pull_policy: always
    tty: true
    ports:
      - "11434:11434"
    environment:
      - NVIDIA_VISIBLE_DEVICES=all
      - NVIDIA_DRIVER_CAPABILITIES=compute,utility
      - OLLAMA_FORCE_CUDA=1
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    restart: unless-stopped

  open-webui:
    image: ghcr.io/open-webui/open-webui:v0.5.7
    container_name: open-webui
    volumes:
      - open-webui:/app/backend/data
    depends_on:
      - ollama
    ports:
      - "3000:8080"
    environment:
      - 'OLLAMA_API_BASE_URL=http://ollama:11434/api'
    extra_hosts:
      - host.docker.internal:host-gateway
    restart: unless-stopped

volumes:
  ollama: {}
  open-webui: {}

Ejecuta los contenedores:

sudo docker-compose up -d

Para descargar un modelo y probarlo:

sudo docker exec ollama ollama pull deepseek-r1
sudo docker exec ollama ollama run deepseek-r1

5. Configuración de Nginx Proxy Manager

Para acceder a Proxmox desde Internet:

  • Host: 192.168.1.147
  • Puerto: 8006
  • Esquema: HTTPS
  • Force SSL: ❌ Desactivado
  • HSTS: ✅ Activado
  • HTTP/2: ✅ Activado

Si ves ERR_TOO_MANY_REDIRECTS, asegúrate de:

sudo nano /etc/default/pveproxy

Comenta la línea:

#redirect-port 80

Reinicia Proxmox:

sudo systemctl restart pveproxy

6. Monitorización de la GPU

Instala nvtop para ver el uso de la GPU:

sudo apt install -y nvtop
nvtop

Si ves Impossible to initialize nvidia nvml, reinicia la máquina y asegúrate de que los drivers de NVIDIA están bien instalados.


Con esto tendrás tu Nvidia GTX 1060 funcionando en Proxmox, Docker y Ollama con WebUI, accesible desde Internet. ¡Disfruta! 🚀

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *