Migração 100% grátis na contratação semestral · nossa equipe migra tudo de qualquer provedor · novos clientes Migrar agora
Agente de IA no WhatsApp na API Oficial da Meta · somos Tech Provider aprovado · orçamento sob consulta Pedir orçamento
VPS com OpenClaw pré-instalado · a partir de R$ 56,90/mês · gerenciada pela Rollin Quero a VPS
VPS com Hermes Agent pré-instalado · a partir de R$ 56,90/mês · gerenciada pela Rollin Quero a VPS
Hospedagem com 30 dias de garantia · Não gostou? Devolvemos 100%, sem perguntas. Ver hospedagem

Instalar Ollama en un VPS

Instala Ollama en un VPS Ubuntu 22.04 con GPU NVIDIA, expón la API REST con HTTPS vía Caddy y sirve Llama 3, Qwen y DeepSeek compatibles con OpenAI.

Ollama es la forma más rápida de ejecutar LLMs en tu propio servidor. Expone una API REST compatible con OpenAI: cambias la URL y tu código sigue funcionando.

Cuándo usar Ollama

  • Desarrollo / experimentación: cambiar de modelo (Llama 3, Qwen, DeepSeek) con 1 comando
  • Inferencia ligera: hasta ~5 llamadas concurrentes
  • Embeddings con nomic-embed-text o bge-m3
  • Equipos pequeños que todavía no quieren montar Triton/vLLM

Para alta concurrencia (10+ requests simultáneas), cambia a vLLM.

Requisitos previos

  • VPS con GPU NVIDIA (recomendamos GPU Estação o GPU Estúdio)
  • Ubuntu 22.04 LTS
  • Driver NVIDIA + CUDA 12.x ya instalados
  • Dominio propio (ollama.sua-empresa.com.br)

Confirma que la GPU es visible:

nvidia-smi

Salida esperada (ejemplo con RTX 4090):

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 535.154.05    Driver Version: 535.154.05    CUDA Version: 12.2  |
+-----------------------------------------------------------------------------+
| GPU  Name        | Memory-Usage      | GPU-Util  |
|  0  NVIDIA RTX 4090 | 0MiB / 24576MiB |     0%    |
+-----------------------------------------------------------------------------+

Paso 1: instalar Ollama

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

El script detecta la GPU e instala el soporte CUDA automáticamente. Confirma:

ollama --version
systemctl status ollama

El servicio ya está ejecutándose en localhost:11434.

Paso 2: descargar y probar un modelo

ollama pull llama3.1:8b
ollama run llama3.1:8b "Em uma frase, por que o céu é azul?"

La primera vez descarga ~5 GB. Después se ejecuta directamente.

Paso 3: exponer la API con HTTPS

Por defecto, Ollama escucha en 127.0.0.1:11434, solo local. Para acceder desde fuera, lo expondremos vía Caddy con HTTPS.

Configura Ollama para escuchar en todas las interfaces:

sudo systemctl edit ollama.service

Agrega:

[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_ORIGINS=*"

Reinicia:

sudo systemctl restart ollama

Instala Caddy:

sudo apt install -y caddy

Configura /etc/caddy/Caddyfile:

ollama.sua-empresa.com.br {
  reverse_proxy localhost:11434

  # Autenticación simple por API key (Caddy header_up matcher)
  @authorized header Authorization "Bearer rh_ollama_token_secreto_grande"
  handle @authorized {
    reverse_proxy localhost:11434
  }
  handle {
    respond "Unauthorized" 401
  }
}

Reinicia Caddy:

sudo systemctl restart caddy

Espera a que el DNS se propague y Caddy emita el SSL. Prueba:

curl https://ollama.sua-empresa.com.br/api/tags \
  -H "Authorization: Bearer rh_ollama_token_secreto_grande"

Respuesta: la lista de modelos descargados.

Paso 4: usar la API compatible con OpenAI

Ollama expone /v1/chat/completions compatible con OpenAI:

curl https://ollama.sua-empresa.com.br/v1/chat/completions \
  -H "Authorization: Bearer rh_ollama_token_secreto_grande" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "llama3.1:8b",
    "messages": [
      {"role": "system", "content": "Responda em português, breve."},
      {"role": "user", "content": "O que é Q4_K_M?"}
    ]
  }'

Paso 5: usarlo en n8n

Agrega un nodo OpenAI Chat Model con:

  • Credential personalizada: API Key = rh_ollama_token_secreto_grande
  • Base URL (en advanced): https://ollama.sua-empresa.com.br/v1
  • Model: llama3.1:8b

Listo: tu n8n habla con tu GPU local.

Embeddings

Para RAG, descarga un modelo de embeddings:

ollama pull nomic-embed-text

Úsalo en código:

curl https://ollama.sua-empresa.com.br/api/embed \
  -H "Authorization: Bearer rh_ollama_token_secreto_grande" \
  -d '{
    "model": "nomic-embed-text",
    "input": "Texto para gerar embedding"
  }'

Devuelve un vector de 768 dimensiones.

Monitoreo

Observa el uso de la GPU en tiempo real:

watch -n 1 nvidia-smi

Y los logs de Ollama:

journalctl -u ollama -f

Para Grafana, expón métricas vía nvidia-dcgm-exporter:

docker run -d --gpus all --rm \
  -p 9400:9400 \
  nvcr.io/nvidia/k8s/dcgm-exporter:3.3.0-3.2.0-ubuntu22.04

Solución de problemas

ProblemaCausa probableSolución
cuda: out of memoryModelo demasiado grandeUsa una cuantización menor (:Q4, :Q5_K_M)
Respuesta lenta (~5 tok/s)Se está ejecutando en CPURevisa nvidia-smi durante la inferencia: si marca 0%, la GPU no se está usando
connection refused en el puerto 11434OLLAMA_HOST no se aplicósudo systemctl daemon-reload && sudo systemctl restart ollama
Caddy no emite el SSLEl DNS no se propagódig ollama.sua-empresa.com.br debe devolver la IP del VPS

Próximos pasos

Última actualización: