Cómo medir la conexión a Internet desde tu NAS o unRAID

🔓
Dificultad del tutorial: Fácil

El tutorial de hoy va a ser de mucha utilidad ya que gracias al siguiente Docker, nos va a permitir hacer Test de velocidad a nuestra conexión de Internet, y no solamente eso, si no que además guardar un registro de los tests anteriores y que nos notifique vía Telegram de forma automática.

Hasta hace un tiempo, el Docker por excelencia y que todo el mundo conocerá es el SpeedTracker de henrywhitaker3 el cual lleva ya abandonado más de año y medio. Es el que os muestro en la captura inferior y que seguro que os suena haber visto o probado.

Aunque el Docker sigue siendo totalmente funcional, carece de actualizaciones y soporte, por lo que os traigo una nueva versión vitaminada y con una nueva interfaz gráfica.

A partir de ahora, ya que soy usuario de unRAID, publicaré los tutoriales con dos vertientes: Docker-Compose y plantillas de Docker de unRAID. Muchos lectores me han preguntado por el temor de que ahora que me he pasado a otro sistema, si iba a dejar de publicar tutoriales y guías destinadas a Synology, así que no os preocupéis en absoluto.

Docker-Compose: Pasos a seguir

Como siempre, antes de ejecutar un Stack, deberemos de crear las carpetas correspondientes. Para ello nos vamos a 'File Station ➝ docker' y creamos la carpeta "speed". Después, abrimos Portainer y creamos un nuevo Stack:

version: '3.3'
services:
    speedtest-tracker:
        container_name: speedtest-tracker
        ports:
            - '8080:80'
            - '8443:443'
        environment:
            - PUID=1000
            - PGID=1000
        volumes:
            - '/volume1/docker/speed:/config'
        image: 'ghcr.io/alexjustesen/speedtest-tracker:latest'
        restart: unless-stopped
⚠️
Deberemos de modificar los parámetros PUID y PGID por los nuestros.

Una vez ejecutado el Stack, accederemos mediante: https://IPNAS:8443 y las credenciales por defecto son el usuario admin@example.com con la contraseña password.

Si queremos acceder de forma totalmente segura con un certificado SSL válido, deberemos de configurar un nuevo Proxy Inverso.

Cómo instalar y configurar Nginx Proxy Manager en tu NAS
Guía detallada sobre cómo instalar tu Proxy Inverso en un NAS con certificado Let’s Encrypt.

unRAID: Pasos a seguir

El proceso de instalación en unRAID más fácil no podría ser gracias a la utilización de las plantillas.

Para ello nos vamos a Apps y buscamos "speedtest" y buscamos la imagen de ZappyZap's.

En este caso, las únicas variables que tendremos que modificar son los parámetros PUID y PGID .

Plantilla de instalación del Docker SpeedTest en unRAID

Cómo automatizar los tests de velocidad

Para ello nos vamos a la pestaña General y en la opción "Speedtest schedule" le indicamos al Crontab cada cuanto tiempo queremos que nos lance un nuevo Test de velocidad. En mi caso he indicado 0 2,14 * * * el cual le indico que me haga 2 Tests cada día, uno a las 02:00 AM y otro a las 14:00 PM. También podríamos indicarle que nos haga uno cada 8 horas con el siguiente: 0 */8 * * * .

Si quieres personalizarlo, te puede servir de ayuda este generador de Cron.


Cómo hacer para que nos notifique automáticamente en Telegram

⚠️
En la variable TELEGRAM_BOT_TOKEN tendremos que especificar el Token de nuestro grupo de Telegram creado previamente con @BotFather.
La configuración de la variable es diferente según si la instalación es con Docker-Compose, o con la Plantilla en el caso de tener un servidor unRAID.
  1. UNRAID: Lo primero que tendremos que hacer es añadir una nueva variable en la Plantilla del contenedor en unRAID: TELEGRAM_BOT_TOKEN=xxxxxxxxxxxxxxx.
  2. DOCKER-COMPOSE: En el caso de que lo instalemos mediante Docker-Compose, deberemos de irnos a la carpeta local que hemos elegido para la instalación del contenedor y editar el archivo .env, donde encontraremos el parámetro TELEGRAM_BOT_TOKEN y especificar el Token. Guardaremos y reiniciamos el Docker.
  3. Una vez levantado el servicio, nos vamos a Notifications y habilitamos las notificaciones de Telegram como muestro en la imagen inferior.
  4. Para conocer el "Telegram chat id" abrimos nuestro Telegram con la siguiente dirección https://t.me/get_id_bot y nos mostrará nuestro ID de Telegram.

Truco: Cómo seleccionar el Servidor más cercano y optimizado a tu casa

Para finalizar la guía, os explicaré un truco que nos servirá para indicarle al SpeedTracker, que utilice el servidor más cercano a casa y que además es el más idóneo para obtener los datos reales.

  1. Abrimos la página de SpeedTest y por defecto nos asigna el servidor más rápido teniendo en cuenta la cercanía a nuestra casa que en mi caso es CSUC.
  2. Hacemos clic derecho y copiamos la dirección o bien abrimos las opciones de desarrollador de nuestro Navegador de Internet. Veremos que en el enlace acaba con una "id" que en mi caso es 2254.
  3. Copiamos la ID y abrimos el SpeedTracker nuestro y nos vamos a la pestaña General y la metemos en "Speedtest server ID" y guardamos.