En este post vamos a instalar DeepSeek usando docker y aprovechando la gráfica nvidia. ¿Por qué usando contenedores? Por que no soy cochino instalando cosas que no sé qué haran en mi sistema y no tengo tiempo de ponerme a leer el script de instalación. Aquí te dejo el video para que veas cómo lo realizo:
## Pre requisitos Instala los pre-requisitos para usar tu tarjeta gríafica: libnvidia-container nvidia-container-toolkit ## Configuración de Pre requisitos Para que el contenedor pueda acceder al GPU tenemos que configurar nvidia-container-toolkit y docker: editamos el archivo /etc/nvidia-container-runtime/config.toml y agregamos la siguiente línea: ```bash no-cgroups = true ``` Ejecutamos los siguientes comandos: ```bash $ sudo nvidia-ctk runtime configure --runtime=docker $ sudo systemctl restart docker ``` Nota: a open-webui lo llamaré solamente webui Vamos a crear dos carpetas en nuestro directorio de trabajo: ```bash $ mkdir ollama $ mkdir webui ``` Dentro de estas carpetas guardaremos los datos de ollama y webui respectivamente. Ahora iniciamos el contenedor de ollama: ```bash $ docker network create net-ollama $ docker run -d --network net-ollama --gpus=all -p 11434:11434 -v ./ollama:/root/.ollama --name=ollama ollama/ollama $ docker run -d --network net-ollama --name webui -p 3000:8080 -v ./webui:/app/backend/data -e OLLAMA_BASE_URL=http://ollama:11434 --add-host=host.docker.internal:host-gateway ghcr.io/open-webui/open-webui:cuda ``` Lo que hacemos es crear una red para que los contenedores puedan comunicarse entre ellos y aislarlos del resto de contenedores que tengamos en nuestra máquina. Si bien puedes instalar open-webui y desde ahí instalar los modelos, prefiero trabajarlos de forma independiente. ## Instalación de DeepSeek Para instalar DeepSeek en el contenedor de ollama: ```bash $ docker exec -it ollama ollama run deepseek-r1:7b ``` Esto tomará un tiempo dependiendo del ancho de banda que tengas, ya que descargará el modelo DeepSeek de 7b.
Nota: Si tu computadora cuenta con recursos limitados puedes elegir modelos más pequeños: 1.5b: Uso mínimo de recursos. 7b: Rendimiento y requisitos de recursos equilibrados. 8b, 14b, 32b: Opciones intermedias para un rendimiento más alto. El tamaño de descarga para estos modelos varía: 1.5b: ~2.3GB 7b: ~4.7GB 70b: ~40GB+ La lista completa está [aquí](https://ollama.com/library/deepseek-r1) Listo tenemos instalado DeepSeek en nuestro contenedor de ollama, puedes empezar a hacer las preguntas que quieras. # Interacción con DeepSeek Ahora con tu navegador entra a la ruta http://localhost:3000 rellena los campos que se te solicitan, con esto podrás empezar a hacer preguntas a DeepSeek. Así se verá la interfaz y arriba estará seleccionado el modelo de deepseek que instalaste:
## Bonus Aquí te dejo un docker-compose.yaml por si quieres hacer todo de una sola vez: ```yaml services: webui: image: ghcr.io/open-webui/open-webui:cuda container_name: webui ports: - 3000:8080 volumes: - ./webui:/app/backend/data environment: - OLLAMA_BASE_URL=http://ollama:11434 extra_hosts: - "host.docker.internal:host-gateway" depends_on: - ollama ollama: image: ollama/ollama container_name: ollama expose: - 11434/tcp ports: - 11434:11434/tcp healthcheck: test: ollama --version || exit 1 volumes: - ./ollama:/root/.ollama ``` Nota: Solo recuerda que después de ejecutar el docker-compose.yaml tienes que ejecutar el comando para instalar DeepSeek: ```bash $ docker exec -it ollama ollama run deepseek-r1:7b ```