Pollito Blog
January 31, 2025

VPS 4: Implementación de un panel de estadísticas en tiempo real

Posted on January 31, 2025  •  2 minutes  • 302 words  • Other languages:  English

Esta es la cuarta parte de mi VPS blog series .

Glances con Docker Compose

Es hora de implementar nuestro primer proyecto: un panel de estadísticas del servidor en tiempo real. Usaremos Glances , una herramienta liviana basada en Python.

  1. Crea un nuevo proyecto: Lo llamaremos vps-stats. De manera predeterminada, estará en un Entorno: Producción coolify-new-project
  2. Añadir recurso: Elige Docker Compose coolify-new-resource
  3. Pegue el archivo glances YAML : Debe adaptarlo un poco para Coolify. Esta es la versión final en funcionamiento:
version: '3'
services:
  monitoring:
    image: nicolargo/glances:latest
    restart: always
    pid: host
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /etc/os-release:/etc/os-release:ro
    environment:
      - "GLANCES_OPT=-w"

coolify-docker-compose

  1. Configure el dominio y despliegue: stats.yourdomain.com:61208 coolify-domain-config

Una vez que esté activo, visite stats.yourdomain.com para ver su panel de control stats

Protección con Caddy Basic Auth

¿Por qué?

Genera un hashed password

Caddy tiene un comando caddy hash-password

caddy hash-password
	[-p, --plaintext <password>]
	[-a, --algorithm <name>]

Si por alguna razón tienes Caddy instalado en tu máquina, puedes ejecutarlo allí. No tengo Caddy en la mía, pero el VPS tiene Docker instalado, así que podemos:

Agregue al servicio docker-compose.yml la etiqueta caddy

Ahora debería verse algo como esto:

version: '3'
services:
  monitoring:
    image: 'nicolargo/glances:latest'
    restart: always
    pid: host
    volumes:
      - '/var/run/docker.sock:/var/run/docker.sock'
      - '/etc/os-release:/etc/os-release:ro'
    environment:
      - GLANCES_OPT=-w
    labels:
      - 'caddy_0.basicauth.0_YOURUSERHERE=YOURHASHEDPASSWORDHERE'

caddy-basicauth

Reinicia el servicio y visita stats.yourdomain.com. Ahora deberías ver un mensaje de autenticación.

login-form

Siguiente lectura

VPS 5: Implementación de una aplicación full-stack

Hey, check me out!

You can find me here