Pruebas independientes Actualizado abril 2026 387 guías de autoalojamiento 5 proveedores VPS probados

guide

Cómo autoalojar Beszel en un VPS (Guía completa)

Guía paso a paso para autoalojar Beszel en un VPS. Instalación Docker, configuración de agentes multi-servidor y primer inicio de sesión.

Cómo autoalojar Beszel en un VPS (Guía completa)

Beszel es un panel de monitoreo autoalojado que te proporciona visibilidad en tiempo real sobre CPU, RAM, disco y métricas de red en múltiples servidores. Es extremadamente ligero (funciona con 512 MB de RAM), usa SQLite para almacenamiento y puede desplegarse en minutos con Docker. Esta guía cubre todo, desde la selección del VPS hasta la monitorización de tu primer servidor remoto.

Requisitos previos

Antes de comenzar, necesitas:

Paso 1: Conectarse al VPS

ssh root@ip-de-tu-vps

Actualizar paquetes:

apt update && apt upgrade -y

Paso 2: Instalar Docker

curl -fsSL https://get.docker.com | sh
systemctl enable --now docker

Verificar la instalación:

docker --version

Paso 3: Abrir el puerto 8090 en el firewall

Con UFW en Ubuntu:

ufw allow 8090/tcp
ufw reload

Paso 4: Desplegar el hub Beszel

Opción A: Docker Run (inicio rápido)

docker run -d \
  --name beszel \
  --restart unless-stopped \
  -p 8090:8090 \
  -v beszel_data:/beszel_data \
  henrygd/beszel

Opción B: Docker Compose (recomendado)

Crear un directorio del proyecto:

mkdir -p /opt/beszel && cd /opt/beszel

Crear docker-compose.yml:

services:
  beszel:
    image: henrygd/beszel:latest
    container_name: beszel
    restart: unless-stopped
    ports:
      - "8090:8090"
    volumes:
      - beszel_data:/beszel_data

volumes:
  beszel_data:

Iniciar el servicio:

docker compose up -d

Verificar el estado:

docker compose ps
docker compose logs -f

Opción C: Instalación por binario (sin Docker)

Descargar la última versión para tu arquitectura:

curl -sL https://api.github.com/repos/henrygd/beszel/releases/latest \
  | grep "browser_download_url.*linux_amd64" \
  | cut -d '"' -f 4 \
  | xargs curl -Lo /usr/local/bin/beszel

chmod +x /usr/local/bin/beszel

Crear un servicio systemd en /etc/systemd/system/beszel.service:

[Unit]
Description=Beszel monitoring hub
After=network.target

[Service]
ExecStart=/usr/local/bin/beszel serve
WorkingDirectory=/var/lib/beszel
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Activar e iniciar:

mkdir -p /var/lib/beszel
systemctl daemon-reload
systemctl enable --now beszel

Paso 5: Primer inicio de sesión

Abre tu navegador y navega a:

http://ip-de-tu-vps:8090

En el primer inicio se te pedirá crear una cuenta de administrador. Usa una contraseña segura.

Paso 6: Añadir servidores para monitorizar

Beszel usa un agente ligero instalado en cada servidor a monitorizar.

6.1 Generar una clave de agente

En el panel de Beszel:

  1. Hacer clic en Añadir servidor.
  2. Introducir un nombre y el nombre de host o IP del servidor.
  3. Copiar la Clave de agente generada — la necesitarás en el servidor monitorizado.

6.2 Instalar el agente en el servidor destino

Conectarse por SSH al servidor a monitorizar y ejecutar:

Docker:

docker run -d \
  --name beszel-agent \
  --restart unless-stopped \
  --network host \
  -e KEY="<pega-tu-clave-de-agente-aquí>" \
  henrygd/beszel-agent

Binario:

curl -sL https://api.github.com/repos/henrygd/beszel/releases/latest \
  | grep "browser_download_url.*beszel-agent.*linux_amd64" \
  | cut -d '"' -f 4 \
  | xargs curl -Lo /usr/local/bin/beszel-agent

chmod +x /usr/local/bin/beszel-agent

Crear /etc/systemd/system/beszel-agent.service:

[Unit]
Description=Beszel monitoring agent
After=network.target

[Service]
ExecStart=/usr/local/bin/beszel-agent
Environment=KEY=<tu-clave-de-agente>
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Activar e iniciar:

systemctl daemon-reload
systemctl enable --now beszel-agent

En pocos segundos el servidor debería aparecer como Conectado en el panel de Beszel.

Paso 7: (Opcional) Poner Beszel detrás de un proxy inverso

Para acceso HTTPS, configura Caddy o Nginx delante de Beszel.

Ejemplo con Caddy (/etc/caddy/Caddyfile):

monitor.tudominio.es {
    reverse_proxy localhost:8090
}

Ejemplo con Nginx:

server {
    listen 443 ssl;
    server_name monitor.tudominio.es;
    ssl_certificate /etc/letsencrypt/live/monitor.tudominio.es/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/monitor.tudominio.es/privkey.pem;

    location / {
        proxy_pass http://localhost:8090;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Resolución de problemas

ProblemaSolución
Panel inaccesibleVerificar firewall (ufw status), confirmar que el contenedor está activo (docker ps)
El agente no se conectaVerificar la variable de entorno KEY, revisar logs del agente (docker logs beszel-agent)
Alto uso de discoReducir el intervalo de retención en la configuración de Beszel
El contenedor no iniciaRevisar logs: docker compose logs beszel

Preguntas frecuentes

¿Cómo hago copia de seguridad de los datos de Beszel?

Todo el estado de Beszel está en el volumen Docker beszel_data. Crear una copia de seguridad de la base de datos:

docker exec beszel sqlite3 /beszel_data/beszel.db ".backup /beszel_data/beszel.db.bak"

Luego copiar el archivo de copia de seguridad fuera del servidor con rsync o scp.

¿Puedo monitorizar servidores Windows con Beszel?

El agente Beszel admite Linux, macOS y Windows. Instala el binario de Windows y regístralo como servicio de Windows.

¿Beszel requiere conexión a internet?

No. Beszel es completamente autónomo. El hub y los agentes se comunican solo entre sí, sin llamadas externas. Funciona perfectamente en una red privada o VPN.