Instalar Deepseek R1 en un servidor VPS

Aunque normalmente para ejecutar un modelo de IA se necesita una GPU, existen ciertos modelos como Deepseek, que si tenemos suficiente potencia de CPU y suficiente memoria RAM, no necesitamos GPU. Por otro lado, si la velocidad (en tokens por segundo) y la concurrencia no son nuestra prioridad, también podemos ejecutar bastantes modelos en la CPU.

Deepseek es uno de estos modelos que puede ser ejecutado en la CPU siempre y cuando tengamos suficiente memoria RAM. Además, Deepseek R1 es un modelo muy eficiente y si lo comparamos con otros modelos, existe bastante diferencia en la velocidad de ejecución (en tokens por segundo).

Podemos instalar Deepseek R1 en uno de los servidores VPS Cloud de Raiola Networks. En este ejemplo, vamos a instalar Deepseek R1 1.5B utilizando Ollama en un servidor VPS con Debian.

Debemos entrar utilizando la cuenta ROOT en nuestro servidor VPS para acceder al terminal SSH, para eso podemos utilizar un cliente SSH como Termius o Putty.

Lo primero que vamos a hacer es actualizar el sistema operativo:

actualizar debian servidor vps

apt-get update
apt-get upgrade

Ahora vamos a empezar algunos paquetes necesarios o/y interesantes:

apt install -y curl wget git htop nano

De estos paquetes, realmente hay algunos que son necesarios como curl, wget, git y nano, pero htop es simplemente para monitorizar el consumo de recursos de una forma más eficiente.

Ahora podemos empezar con la instalación de Ollama.

En primer lugar, vamos a utilizar curl para descargar Ollama y vamos a ejecutar el script de instalación:

curl -fsSL https://ollama.com/install.sh | sh

Al no tener GPU, es normal que nos aparezca este error que puedes ver en la siguiente captura durante la instalación:

ollama cpu mode

Podemos comprobar la versión de Ollama instalada con el siguiente comando:

ollama --version

Ahora vamos a ejecutar Ollama como servicio:

sudo systemctl start ollama  

Y con este otro comando lo configuramos para que se inicie como servicio:

sudo systemctl enable ollama  

Después de esto, si queremos comprobar que está funcionando correctamente el API de Ollama, podemos utilizar curl para lanzarle una petición a "localhost":

curl http://localhost:11434/api/version

Si nos aparece la versión, como puedes ver en la siguiente captura, es que está todo funcionando correctamente.

ollama version api curl

Ahora, para descargar y ejecutar el modelo Deepseek R1 1.5B (es decir, la cuantificación más pequeña de Deepseek R1), vamos a ejecutar el siguiente comando en la terminal SSH:

ollama run deepseek-r1:1.5b

descarga deepseek r1 1.5B

El tiempo de descarga va a depender de la conexión que tenga el servidor VPS, como puedes observar en la siguiente captura; en este caso, se alcanzan casi 60 MB/s, o lo que viene siendo lo mismo, los 500 Mbps de conectividad que tienen nuestros servidores VPS Cloud.

Cuando finalice la descarga, se cargará el modelo en la memoria RAM y nos saldrá algo similar a esto:

deepseek r1 servidor VPS

Si queremos salir del chat de Ollama con el modelo cargado, podemos utilizar la combinación de teclas "CONTROL + D".

Después de esto, podemos utilizar el siguiente comando para comprobar el listado de modelos descargados por Ollama:

ollama list

listado de modelos ollama servidor vps

Para comprobar si se está ejecutando Ollama como servicio, con el fin de tener el API activa para utilizarla externamente, podemos utilizar el siguiente comando:

sudo systemctl status ollama

Si sale algo similar a esto, Ollama estará funcionando como servicio:

ollama deepseek n8n

Ahora, para poder acceder al API mediante la dirección IP para poder acceder desde N8N o Make.com, debemos editar algunas cosas.

Como había que hacer varios pasos consecutivos, puedes utilizar este script para hacer que el API sea accesible desde la IP:

#!/bin/bash
echo "=== Configurando Ollama para acceso externo ==="

# Parar servicio
sudo systemctl stop ollama

# Crear directorio de configuración
sudo mkdir -p /etc/systemd/system/ollama.service.d

# Crear archivo de configuración
sudo cat > /etc/systemd/system/ollama.service.d/override.conf << 'EOF'
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_ORIGINS=*"
EOF

# Recargar y reiniciar
sudo systemctl daemon-reload
sudo systemctl start ollama

echo "=== Esperando que inicie... ==="
sleep 5

echo "=== Verificando configuración ==="
echo "1. Puerto en escucha:"
sudo netstat -tulpn | grep :11434

echo "2. Variables de entorno:"
sudo systemctl show ollama --property=Environment

echo "3. IP pública:"
PUBLIC_IP=$(curl -s -4 icanhazip.com)
echo "IP: $PUBLIC_IP"

echo "4. Prueba local:"
curl -s http://localhost:11434/api/version && echo " ✅ OK" || echo " ❌ FALLO"

echo "5. Prueba externa:"
curl -s http://$PUBLIC_IP:11434/api/version && echo " ✅ OK" || echo " ❌ FALLO"

echo "=== Configuración completada ==="
echo "API accesible en: http://$PUBLIC_IP:11434"

Cuando finalice, nos aparecerá algo similar a esto en la terminal SSH:

api ollama configurada

Ahora, si accedemos desde nuestro navegador a la IP, podremos ver algo similar a  esto:

ollama api navegador web

Con esto ya tendremos listo nuestra API de Ollama funcionando en nuestro servidor VPS con Deepseek R1 1.5B. Podremos empezar a usarlo desde N8N, desde Make.com o desde cualquier otro sistema que nos permita conectarnos por API a Ollama.

El modelo 1.5B de Deepseek es el más pequeño, pero es suficiente para ciertos tipos de razonamiento cuando usamos RAG (bases de datos vectoriales) para aportar conocimiento y contexto.

Álvaro Fontela

Álvaro Fontela

Consultor WordPress, además de CEO y cofundador de Raiola Networks. Autor del libro "Curso Práctico de WordPress" y speaker en congresos de marketing digital.

Autor