📚TutorialesIntermedio

    Cómo Desplegar un Agente de IA en VPS con Ubuntu: Guía Completa

    Un VPS básico (menos de 5€/mes) puede ser tu servidor de IA personal en la nube. Tutorial paso a paso: elegir VPS, instalar el agente, configurar systemd, SSL y monitoreo básico.

    13 min lectura

    Paso 1: Elegir VPS ($5-20/mes o 4,50-18€)

    No todos los VPS son iguales. Para un agente de IA necesitas RAM suficiente (el cuello de botella principal) y buena conectividad (para APIs de LLM).

    ProviderPlanRAMCPUPrecioNotas HetznerCX224 GB2 vCPU4,50€/mes⭐ Mejor relación calidad/precio (Muy usado en España) DigitalOceanBasic2 GB1 vCPU$6/mesFácil de usar, buena docs VultrCloud2 GB1 vCPU$6/mesBuen peering global Oracle CloudFree Tier24 GB4 vCPU ARM**$0/mes**Gratis para siempre (ARM) ContaboCloud S8 GB4 vCPU$7/mesMucha RAM por poco precio

    Recomendación: Hetzner CX22 (aprox. 4,50€/mes) para la mayoría, excelente conectividad local europea. Oracle Free Tier si quieres $0/mes (requiere registro con tarjeta).

    Paso 2: Instalar Ubuntu 24.04 LTS

    La mayoría de providers te permiten seleccionar Ubuntu 24.04 LTS al crear el VPS. Si no:

    # Primer acceso al VPS
    ssh root@tu-ip-del-vps
    
    # Actualizar sistema
    apt update && apt upgrade -y
    
    # Crear usuario no-root (buena práctica)
    adduser agente
    usermod -aG sudo agente
    
    # Configurar SSH con clave (deshabilitar password)
    su - agente
    mkdir ~/.ssh
    # Copia tu clave pública a ~/.ssh/authorized_keys
    
    # Deshabilitar login con password
    sudo nano /etc/ssh/sshd_config
    # PasswordAuthentication no
    sudo systemctl restart sshd
    

    Firewall básico:

    sudo ufw allow OpenSSH
    sudo ufw allow 443/tcp  # Para SSL
    sudo ufw allow 18789/tcp  # Puerto del Gateway OpenClaw
    sudo ufw enable
    

    Paso 3: Desplegar OpenClaw o ZeroClaw

    Opción A: OpenClaw

    # Instalar Node.js 22
    curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
    sudo apt install -y nodejs
    
    # Instalar OpenClaw
    npm install -g openclaw@latest
    
    # Configurar
    openclaw onboard --install-daemon
    
    # Verificar
    openclaw doctor
    

    Opción B: ZeroClaw (más seguro para producción)

    # Instalar Rust
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    source $HOME/.cargo/env
    
    # Clonar y compilar ZeroClaw
    git clone https://github.com/zeroclaw/zeroclaw.git
    cd zeroclaw
    cargo build --release
    
    # Configurar
    cp config.example.yaml config.yaml
    nano config.yaml  # Editar con tu API key y canales
    
    # Ejecutar
    ./target/release/zeroclaw --config config.yaml
    

    Paso 4: Configurar systemd (auto-start)

    Para que el agente arranque automáticamente al reiniciar el VPS:

    # Crear archivo de servicio
    sudo nano /etc/systemd/system/agente-ia.service
    
    [Unit]
    Description=Agente IA (OpenClaw)
    After=network.target
    
    [Service]
    Type=simple
    User=agente
    WorkingDirectory=/home/agente
    ExecStart=/usr/bin/openclaw start
    Restart=always
    RestartSec=10
    StandardOutput=journal
    StandardError=journal
    
    [Install]
    WantedBy=multi-user.target
    
    # Habilitar e iniciar
    sudo systemctl daemon-reload
    sudo systemctl enable agente-ia
    sudo systemctl start agente-ia
    
    # Verificar estado
    sudo systemctl status agente-ia
    
    # Ver logs en tiempo real
    sudo journalctl -u agente-ia -f
    

    Ahora tu agente sobrevive a reinicios del servidor y se reinicia automáticamente si crashea.

    Paso 5: SSL con Let's Encrypt (opcional)

    Si expones el WebChat o un webhook, necesitas SSL:

    # Instalar Certbot
    sudo apt install -y certbot
    
    # Obtener certificado (necesitas un dominio apuntando a tu VPS)
    sudo certbot certonly --standalone -d agente.tudominio.com
    
    # Auto-renovación (ya configurada por defecto)
    sudo certbot renew --dry-run
    

    Configura OpenClaw para usar el certificado:

    server:
      ssl:
        cert: /etc/letsencrypt/live/agente.tudominio.com/fullchain.pem
        key: /etc/letsencrypt/live/agente.tudominio.com/privkey.pem
    

    Si solo usas WhatsApp/Telegram: No necesitas SSL. Los mensajes van por la conexión del canal, no por tu servidor.

    Paso 6: Monitoreo básico

    No necesitas Prometheus + Grafana para un agente personal. Un monitoreo básico es suficiente:

    # Script simple de monitoreo (/home/agente/monitor.sh)
    #!/bin/bash
    if ! systemctl is-active --quiet agente-ia; then
      echo "⚠️ Agente IA caído — reiniciando..." |     curl -s -X POST "https://api.telegram.org/botTU_TOKEN/sendMessage"     -d chat_id=TU_CHAT_ID -d text="⚠️ Agente IA caído — reiniciando"
      sudo systemctl restart agente-ia
    fi
    
    # Añadir al crontab (ejecutar cada 5 minutos)
    crontab -e
    */5 * * * * /home/agente/monitor.sh
    

    Métricas útiles de journalctl:

    # Mensajes procesados hoy
    journalctl -u agente-ia --since today | grep "message processed" | wc -l
    
    # Errores en las últimas 24h
    journalctl -u agente-ia --since "24 hours ago" -p err
    
    # Uso de memoria actual
    systemctl show agente-ia --property=MemoryCurrent
    

    Con systemd + crontab + notificaciones por Telegram tienes un monitoreo funcional sin instalar nada extra.

    Preguntas Frecuentes

    vpsubuntudeploysystemdssltutorialself-hosting

    Artículos Relacionados

    🦞 El briefing semanal de IA open source

    Cada lunes: un tutorial nuevo, las comparativas que importan y los trucos que solo compartimos por email. Ya somos +500 técnicos en la colonia.

    Usamos cookies analíticas para mejorar tu experiencia. Ni siquiera un crustáceo se escapa de las cookies 🦞🍪 Más info