Partiamo con un primo articolo sulla serie dei Microservizi. In un precedente post avevo appunto mostrato come si possa inserire a casa quello che di fatto può essere un micro-server a bassissimo consumo.
Posto che su quest’ultimo ci sia una installazione di Linux Server (personalmente uso la Ubuntu Server) e l’installazione di Docker, vediamo cosa possiamo metterci sopra, iniziando da qualcosa di semplice.
Una delle cose ho visto fare da molti è una sorta di ossessivo benchmark della propria connessione Internet. Posso capirne le ragioni, in effetti i parametri di download e upload sono quelli che vengono contrattualizzati e a cui facciamo riferimento. Su internet esistono parecchi siti che fanno questo lavoro, ma proprio da questo punto partiamo sul puntare il dito che molto spesso questi usano i nostri dati in modo bidirezionale. Da una parte hanno in mano lo stato qualitativo della connessione, dall’altra possono rifilarci pubblicità, magari proprio mirata a farvi cambiare operatore. O a restarci…
Come dice il detto, “se una cosa è gratis, il prodotto siete voi“. In questo caso poi ci metterei sopra anche una certa malizia, chi ci assicura che i dati che stiamo vedendo siano corretti?
Il microservizio che vi propongo oggi si chiama MySpeed, ovviamente è open-source ed ha una interfaccia carina in NodeJS. I server dove vengono effettuati i benchmark sono tutti certificati, come LibreSpeed.

Esiste anche una HomePage del progetto ( https://myspeed.dev/ ) dove poter leggere le varie istruzioni (in inglese) che tuttavia sono contenute o comunque comprensibili. Anche perché l’intero progetto è tradotto in italiano, per cui le voci e i vari menu del programma sono disponibili anche nella nostra lingua.
Vediamo come procedere, ovvero nelle due modalità che Docker ci mette a disposizione. Quella più semplice è immediata prevede l’esecuzione di Docker RUN con un solo comando:
docker run -d -p 5216:5216 -v myspeed:/myspeed/data --restart=unless-stopped --name MySpeed germannewsmaker/myspeed
BashIl servizio si avvierà in background, e al vostro indirizzo della macchina fisica alla porta 5216 (esempio http://192.168.1.2:5216) vedrete la pagina web del microservizio.
Secondo metodo
Se vogliamo qualcosa di più controllabile, possiamo creare una cartella dentro il server, ad esempio sotto /opt:
sudo mkdir /opt/myspeed
BashAll’interno creiamo un file docker-compose:
cd /opt/myspeed
nano docker-compose.yml
BashAll’interno di questo file ci incolliamo quanto segue:
version: "3"
services:
myspeed:
ports:
- 5216:5216
volumes:
- /opt/myspeed/data:/myspeed/data
restart: unless-stopped
container_name: MySpeed
image: germannewsmaker/myspeed
volumes:
myspeed:
external:
name: myspeed
YAMLPremiamo F2 per salvare il file e quindi avviamo il container
docker compose up -d
BashAll’interno dell’interfaccia è possibile, attraverso l’icona a forma di ingranaggio posta in alto a destra, comandare o modificare il microservizio. Ad esempio, con “Cambia Vista” passate dalla visione tabellare a quella a cruscotto. Con “Cambia fornitore” potrete ad esempio scegliere l’endpoint dove misurare i valori di carico.
Il programma effettuerà da solo un test ogni ora, o il tempo che potrete indicare in “Impostazione della frequenza“. Come anticipato in apertura di questo articolo, i dati sono nostri e non vengono divulgati a meno che non siamo noi a farlo. Oltretutto è disponibile una esportazione in formato CSV (Excel) o Json. I risultati dei test rimangono disponibili per 30 giorni, poi vengono cancellati.
In definitiva il programma è molto carino e utile a capire lo stato della propria connessione un effettivo controllo su quanto venduto dal nostro Internet Service Provider. Chiaramente, ma questo vale anche per i servizi esterni, se stiamo scaricando qualcosa e quindi usiamo parte della banda, i risultati dei test andranno a variare sensibilmente.