Quando si lavora ogni giorno con server Linux, reti, sviluppo web, conversioni rapide di testo o piccoli controlli tecnici, capita spesso di dover usare strumenti online molto semplici ma estremamente comodi. Il problema è che non sempre ha senso affidarsi a servizi esterni, soprattutto se vuoi avere tutto sotto controllo e raggiungibile direttamente dal tuo VPS o dalla tua rete privata, ad esempio su un Raspberry PI.

In questo tutorial vedremo come installare IT-Tools con Docker su Linux e pubblicarlo in modo ordinato come servizio self-hosted. La guida è pensata per principianti e mostra tutti i passaggi principali: requisiti minimi, installazione di Docker, creazione della stack, test locale, pubblicazione tramite reverse proxy e aggiornamento del container.

Cos’è IT-Tools

IT-Tools è una raccolta di strumenti web utili da tenere sempre a portata di mano. In un’unica interfaccia puoi avere utility pratiche per lavorare con testo, encoding, generatori, conversioni, rete e piccoli controlli tecnici senza dover ogni volta cercare servizi online esterni.

Per questo motivo è un software molto interessante da installare in modalità self-hosted su un VPS Linux / Raspberry PI oppure su un piccolo server domestico con Docker.

Perché installarlo in self-hosting

Avere IT-Tools sul proprio server ha diversi vantaggi:

  • hai una raccolta di strumenti sempre disponibile dal browser;
  • puoi tenerlo sotto il tuo dominio o sottodominio;
  • non dipendi da servizi esterni per utility rapide e ricorrenti;
  • l’installazione è leggera e adatta a qualsiasi macchina che esegua Linux;
  • con Docker la gestione del servizio è molto semplice.

Requisiti minimi consigliati

Per una piccola installazione personale o di laboratorio ti consiglio almeno:

  • una installazione di Debian 13 o Ubuntu Server 24.04;
  • 1 vCPU;
  • 512 MB di RAM come minimo, meglio 1 GB se il server ospita anche altri servizi;
  • 1 o 2 GB di spazio libero su disco;
  • Docker e Docker Compose plugin, oppure la possibilità di installarli;
  • facoltativamente un dominio o sottodominio, ad esempio tools.tuodominio.it, se vuoi pubblicarlo in HTTPS.

Se vuoi solo provarlo in locale, il dominio non è obbligatorio. Se invece vuoi usarlo comodamente dal browser con un indirizzo pulito, conviene pubblicarlo dietro reverse proxy.

Aggiornare il server Linux

Prima di iniziare conviene aggiornare il sistema:

sudo apt update
sudo apt upgrade -y

Se il sistema ha installato aggiornamenti importanti, puoi riavviare:

sudo reboot

Installare Docker e Docker Compose

Se Docker è già presente sul server, puoi saltare questa sezione. In caso contrario, installiamo i pacchetti necessari:

sudo apt install -y ca-certificates curl gnupg

Creiamo la directory per le chiavi APT:

sudo install -m 0755 -d /etc/apt/keyrings

Scarichiamo la chiave ufficiale di Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Aggiungiamo il repository Docker:

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Ora installiamo Docker Engine e il plugin Compose:

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Verifichiamo che Docker sia attivo:

sudo systemctl enable --now docker
sudo systemctl status docker

Controlliamo infine che i comandi siano disponibili:

docker --version
docker compose version

Creare la cartella del progetto

Prepariamo ora una directory dedicata a IT-Tools:

sudo mkdir -p /opt/it-tools
sudo chown $USER:$USER /opt/it-tools
cd /opt/it-tools

In questa cartella salveremo il file docker-compose.yml.

Creare il file docker-compose.yml

Creiamo il file della stack Docker:

nano docker-compose.yml

Inserisci questo contenuto:

services:
  it-tools:
    image: corentinth/it-tools:latest
    container_name: it-tools
    restart: unless-stopped
    ports:
      - "127.0.0.1:8080:80"

Questa configurazione espone IT-Tools solo in locale sulla porta 8080 del server, così da poterlo mettere successivamente dietro un reverse proxy come Caddy o Nginx.

Avviare IT-Tools con Docker Compose

Ora possiamo avviare il container:

cd /opt/it-tools
docker compose up -d

Controlliamo che il servizio sia partito:

docker compose ps

Se vuoi leggere i log del container:

docker compose logs -f

Verificare il funzionamento in locale

Prima di pubblicare il servizio verso l’esterno, conviene verificare che risponda correttamente in locale:

curl -I http://127.0.0.1:8080

Se ricevi una risposta HTTP valida, il container è attivo e l’applicazione sta funzionando.

Installare Caddy come reverse proxy

Se vuoi raggiungere IT-Tools con un dominio in HTTPS, puoi usare Caddy come reverse proxy. È una soluzione semplice e molto comoda per chi vuole pubblicare piccoli servizi Docker su un VPS Linux.

Installiamo i pacchetti necessari:

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl

Importiamo la chiave del repository:

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg

Aggiungiamo il repository:

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list

Installiamo Caddy:

sudo apt update
sudo apt install -y caddy

Configurare il virtual host di Caddy

Apri il file di configurazione:

sudo nano /etc/caddy/Caddyfile

Inserisci una configurazione come questa, sostituendo il dominio con il tuo:

tools.tuodominio.it {
    reverse_proxy 127.0.0.1:8080
    encode gzip zstd
}

Salva e chiudi il file.

Verifica la configurazione:

sudo caddy validate --config /etc/caddy/Caddyfile

Se il controllo non mostra errori, ricarica Caddy:

sudo systemctl reload caddy
sudo systemctl status caddy

Se il DNS punta correttamente al tuo VPS, Caddy proverà automaticamente a ottenere il certificato HTTPS.

Aprire il firewall

Se usi UFW, apri le porte principali:

sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status

Accedere a IT-Tools dal browser

A questo punto puoi aprire il browser e visitare uno di questi indirizzi:

http://IP-DEL-VPS:8080

oppure, se hai configurato il reverse proxy:

https://tools.tuodominio.it

Se tutto è andato bene, vedrai l’interfaccia web di IT-Tools pronta all’uso.

Come aggiornare IT-Tools

Uno dei vantaggi dell’uso con Docker Compose è la semplicità degli aggiornamenti.

Per aggiornare il container:

cd /opt/it-tools
docker compose pull
docker compose up -d

Per controllare che il servizio sia ancora operativo:

docker compose ps
docker compose logs --tail=50

Come fermare o riavviare il servizio

Per fermare temporaneamente il container:

cd /opt/it-tools
docker compose stop

Per riavviarlo:

docker compose start

Per spegnerlo e rimuoverlo dalla stack:

docker compose down

Problemi comuni

Il container non parte

Controlla i log con:

docker compose logs -f

Spesso il problema è un errore di sintassi nel file docker-compose.yml oppure una porta già occupata sul server.

La porta 8080 non risponde

Verifica che il container sia davvero in esecuzione con docker compose ps e controlla che nessun altro servizio stia già usando quella porta.

L’URL richiesto non risponde / non viene trovato

In questo caso conviene controllare tre cose: record DNS, configurazione del reverse proxy e firewall del VPS.

HTTPS non funziona

Controlla che il dominio punti correttamente all’IP del server e che le porte 80 e 443 siano raggiungibili dall’esterno. Caddy richiede automaticamente un certificato valido HTTPS, tramite Let’s Encrypt, purché il dominio configurato su Caddy sia raggiungibile pubblicamente (così Let’s Encrypt ha modo di fare la verifica e rilasciare il certificato HTTPS).

FAQ

IT-Tools è adatto anche a un VPS economico o a Raspberry PI?

Sì, per un uso personale o tecnico leggero può essere eseguito anche su un VPS economico o un Raspberry PI, soprattutto se non ospita cose pesanti.

Serve un database per usare IT-Tools?

No, per una installazione base come quella mostrata in questa guida non è necessario configurare un database esterno.

Posso usarlo solo in locale senza dominio?

Sì, puoi usarlo anche direttamente tramite IP e porta del server, oppure dietro VPN o rete interna, senza pubblicarlo per forza su Internet, in fin dei conti, basta collegarsi all’IP del server e alla porta esposta da docker, ovviamente configurando opportunamente l’eventuale firewall e il file di Docker Compose per mettere il container in ascolto su 0.0.0.0:8080.

Considerazioni finali

IT-Tools è un progetto molto comodo da avere sul proprio VPS o server Linux, soprattutto se usi spesso piccole utility web durante attività di amministrazione, sviluppo o troubleshooting. Con Docker l’installazione è rapida, la gestione è semplice e anche gli aggiornamenti diventano immediati.

Per chi vuole costruire un piccolo ecosistema self-hosted ordinato, è uno di quei servizi leggeri che vale la pena tenere sempre disponibili.

Rispondi