DeepSeek R1 — Servidor headless + UI local¶
Arquitectura¶
Servidor Ubuntu: solo Ollama con DeepSeek R1 32B. Sin UI, sin Docker.
Tu máquina local: Open WebUI en Docker, conectada al servidor por red.
Control total: scripts para encender/apagar cada parte de forma independiente.
Instalación en el servidor (una sola vez)¶
# 1. Instalar Ollama
curl -fsSL https://ollama.com/install.sh | sh
# 2. Copiar el script al servidor
scp ai-server.sh usuario@IP-SERVIDOR:~/
ssh usuario@IP-SERVIDOR "chmod +x ~/ai-server.sh"
# 3. Descargar el modelo (primera vez, ~19 GB, puede tardar)
ssh usuario@IP-SERVIDOR "ollama pull deepseek-r1:32b"
# 4. Verificar que NVIDIA está bien configurado
ssh usuario@IP-SERVIDOR "nvidia-smi"
Instalación en tu máquina local (una sola vez)¶
# 1. Instalar Docker Desktop (Mac/Windows) o Docker Engine (Linux)
# https://docs.docker.com/get-docker/
# 2. Editar ai-client.sh y cambiar SERVER_IP por la IP de tu servidor
nano ai-client.sh
# 3. Primera vez: bajará la imagen de Open WebUI (~1 GB)
./ai-client.sh start
Uso diario¶
Cuando quieres usar DeepSeek¶
# En el servidor:
./ai-server.sh start
# En tu máquina local:
./ai-client.sh start
# → Abre http://localhost:3000
Cuando necesitas el servidor libre¶
# En tu máquina local (opcional):
./ai-client.sh stop
# En el servidor:
./ai-server.sh stop
# → GPU y RAM completamente liberadas
Ver estado en cualquier momento¶
./ai-server.sh status # en el servidor
./ai-client.sh status # en tu máquina local
Firewall en el servidor (recomendado)¶
Abre el puerto de Ollama solo para tu red local:
# Permitir solo desde tu red local (ejemplo: 192.168.1.0/24)
sudo ufw allow from 192.168.1.0/24 to any port 11434
# Verificar
sudo ufw status
Si usas SSH tunnel (más seguro, sin abrir puertos)¶
En tu máquina local:
ssh -L 11434:localhost:11434 usuario@IP-SERVIDOR -N &
Luego en ai-client.sh cambia:
SERVER_IP="127.0.0.1"
y ya no necesitas abrir el firewall.
Resolución de problemas¶
Problema |
Solución |
|---|---|
«No se puede conectar al servidor» |
Verificar |
Open WebUI tarda en cargar |
Normal al inicio, espera ~10 seg |
GPU no se libera después de |
Esperar 5-10 seg o verificar con |
Modelo muy lento |
Asegurarse de que el modelo está en VRAM con |