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) ------------------------------------------ .. code-block:: bash # 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) ----------------------------------------------- .. code-block:: bash # 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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: bash # 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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: bash # 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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: bash ./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: .. code-block:: bash # 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: .. code-block:: bash ssh -L 11434:localhost:11434 usuario@IP-SERVIDOR -N & Luego en ``ai-client.sh`` cambia: .. code-block:: bash 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 ``./ai-server.sh status`` y el firewall | +-----------------------------------------------+---------------------------------------------------------------+ | Open WebUI tarda en cargar | Normal al inicio, espera ~10 seg | +-----------------------------------------------+---------------------------------------------------------------+ | GPU no se libera después de ``stop`` | Esperar 5-10 seg o verificar con ``nvidia-smi`` | +-----------------------------------------------+---------------------------------------------------------------+ | Modelo muy lento | Asegurarse de que el modelo está en VRAM con ``ollama ps`` | +-----------------------------------------------+---------------------------------------------------------------+