Ollama es una plataforma diseñada para ejecutar modelos de inteligencia artificial de forma local, ofreciendo una alternativa potente y eficiente sin depender de la nube. Al combinar Ollama con GPUs Nvidia, se maximiza el rendimiento en el entrenamiento e inferencia de modelos de IA, acelerando procesos y reduciendo el consumo de recursos. En este artículo, te explicamos cómo desplegar Ollama con Nvidia paso a paso, optimizando su integración para proyectos avanzados de inteligencia artificial.
La inteligencia artificial está transformando el panorama empresarial a un ritmo sin precedentes, convirtiéndose en una herramienta esencial para impulsar la eficiencia, la innovación y la ventaja competitiva. En 2025, las empresas enfrentan retos cada vez más complejos, como la necesidad de procesar grandes volúmenes de datos en tiempo real, optimizar sus operaciones y ofrecer experiencias personalizadas a sus clientes. La IA no solo automatiza tareas rutinarias, sino que también permite una toma de decisiones más estratégica y basada en datos, redefiniendo los modelos de negocio tradicionales
En este contexto, estoy emocionado de anunciar que voy a desplegar un entorno Ollama sobre Rocky Linux 9, utilizando una tarjeta Nvidia L4. Este proyecto busca aprovechar el poder de la IA generativa para ofrecer soluciones avanzadas que puedan integrarse directamente en procesos empresariales críticos. Desde la personalización de experiencias hasta la optimización de recursos, este entorno promete ser una herramienta clave para demostrar cómo la IA puede transformar operaciones cotidianas y abrir nuevas oportunidades para las empresas
La combinación de Rocky Linux 9 y hardware especializado como la Nvidia L4 garantiza un rendimiento robusto y escalable, ideal para manejar modelos de IA de última generación. Este despliegue no solo es una demostración técnica, sino también una apuesta por el futuro de las empresas que buscan mantenerse competitivas en un mundo cada vez más digitalizado.
Índice de Contenidos
Instalación en SoaxNG de nuestra instancia
- S.O: Rocky 9
- Sabor: 14vCPU y 58GB Ram
- Disco: 600GB Disco Flash
- GPU: Tarjeta L4 nvidia
- IP red Externa (pública)
Vamos a utilizar desde nuestra plataforma de nube pública una de nuestras imágenes Rocky9 optimizada para entornos con GPU ya que lleva ya integrados los gráficos de Nvidia para facilitarnos la puesta en marcha y compatibilidad.
Para esta prueba iremos a nuestra sección de GPU y generaremos una instancia dedicada con una tarjeta L4 en un host de 64GB Ram físico (58GB RAM utilizable por nuestra instancia).
Una vez que ejecutemos esta instancia en unos simples pasos podremos ver nuestra instancia preparada y lista para trabajar:
Configuración de S.O
Lo primero que vamos a hacer es deshabilitar Selinux en nuestro sistema para evitar futuros problemas. Para ello ejecutamos el siguiente comando que lo deshabilitara tanto actualmente como en arranque:
sudo sed -i «s/SELINUX=enforcing/SELINUX=disabled/» /etc/sysconfig/selinux &&
sudo sed -i «s/SELINUX=enforcing/SELINUX=disabled/» /etc/selinux/config &&
setenforce 0
A continuación, hacemos un update de los paquetes de nuestro sistema. Añadimos repositorio oficial de Docker y instalaremos los paquetes necesarios.
sudo dnf update -y
sudo dnf config-manager –add-
repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install -y docker-ce
Instalación y configuración Drivers nvidia para Docker
Recordamos que la imagen que hemos utilizado ya viene cargada con los drivers de Nvidia. Vamos a hacer una configuración para instalar los drivers de container debido a que vamos a instalar nuestro ollama sobre contenedores y necesita estos drivers para manejar la GPU.
- sudo curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
- sudo dnf install -y nvidia-container-toolkit
- sudo nvidia-ctk runtime configure –runtime=docker –set-as-default
- sudo systemctl daemon-reload
- sudo systemctl restart Docker
Instalación de los servicios
Para facilitar la instalación de nuestro primer entorno de IA hemos dejado un Docker compose con una variedad de servicios a instalar que nos permitirá tener un stack de desarrollo en nuestros primeros pasos con la IA. Para ello instalaremos:
- Ollama
- Open-webui
- Code-Server
- JupyterLab
- Nginx Proxy Manager
Todos estos servicios podéis quitarlos modificando el stack que dejamos a continuación.
docker compose -f stack.yml up -d
version: ‘3.8’
services:
# Servicio principal de Ollama con soporte GPU
ollama:
image: ollama/ollama
container_name: ollama
ports:
– «11434:11434»
volumes:
– ollama_models:/root/.ollama
networks:
– ai-network
deploy:
resources:
reservations:
devices:
– driver: nvidia
count: 1
capabilities: [gpu]
runtime: nvidia
restart: unless-stopped
# Interfaz Web para Ollama (Open WebUI)
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
– «3000:8080»
environment:
– OLLAMA_BASE_URL=http://ollama:11434
volumes:
– open-webui:/app/backend/data
depends_on:
– ollama
networks:
– ai-network
restart: unless-stopped
# Entorno de desarrollo VS Code
code-server:
image: codercom/code-server:latest
container_name: code-server
ports:
– «8080:8080»
environment:
– PASSWORD=T3mp0r4l2025. # Cambia esto!
volumes:
– code-server:/home/coder/project
networks:
– ai-network
restart: unless-stopped
# JupyterLab para experimentación
jupyter:
image: jupyter/datascience-notebook:latest
container_name: jupyter
ports:
– «8888:8888»
volumes:
– jupyter-data:/home/jovyan/work
networks:
– ai-network
restart: unless-stopped
# Nginx Proxy Manager con Let’s Encrypt
proxy:
image: jc21/nginx-proxy-manager:latest
container_name: nginx-proxy
ports:
– «80:80» # HTTP
– «443:443» # HTTPS
– «81:81» # Admin UI
volumes:
– proxy_data:/data
– proxy_letsencrypt:/etc/letsencrypt
networks:
– ai-network
environment:
DB_MYSQL_HOST: «proxy-db»
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: «d4t4b4s4Us3r»
DB_MYSQL_PASSWORD: «d4t4b4s4P4ss»
depends_on:
– proxy-db
restart: unless-stopped
# Base de datos para Nginx Proxy Manager
proxy-db:
image: jc21/mariadb-aria:latest
container_name: proxy-db
volumes:
– proxy_db:/var/lib/mysql
networks:
– ai-network
environment:
MYSQL_ROOT_PASSWORD: «d4t4b4s4P4ss»
MYSQL_DATABASE: «d4t4b4s4P4ss»
MYSQL_USER: «d4t4b4s4Us3r»
MYSQL_PASSWORD: «d4t4b4s4P4ss»
restart: unless-stopped
volumes:
ollama_models:
open-webui:
code-server:
jupyter-data:
proxy_data:
proxy_letsencrypt:
proxy_db:
networks:
ai-network:
driver: bridge
Una vez que hemos ejecutado nuestro Docker compose podremos ir a nuestra instancia y comprobar como se están ejecutando los servicios con el siguiente comando:
Docker ps -a
En unas semanas publicaremos la segunda parte de este artículo, donde configuraremos el entorno web, parametrizaremos Nginx y daremos nuestros primeros pasos con la integración. ¡No te lo pierdas!