Setup Multi-Progetto su Hetzner
Qualche mese fa, mi sono ritrovato sempre più frustrato dalla gestione di multiple piattaforme di hosting per i miei vari progetti web. Tra bot Telegram, bot Discord, siti web, landing page e servizi self-hosted, le cose stavano diventando complicate.
Allo stesso tempo, avevo due progetti personali importanti che volevo affrontare:
Prima di tutto, avevo bisogno di un modo per accedere da remoto alla mia vasta libreria musicale. Questa collezione, che ho costruito nel corso di 10-15 anni a partire dai download digitali a metà degli anni 2000, era bloccata sul mio PC desktop. Anche se oggi uso principalmente Spotify per comodità, avere accesso remoto alla mia libreria personale rimaneva importante per me.

In secondo luogo, avevo un progetto ambizioso riguardante Lo Zoo di 105, un popolare programma radiofonico italiano. Dal 2006, ho raccolto circa 3.000 episodi—approssimativamente 600GB di audio—che sto ora trascrivendo usando Whisper di OpenAI sul mio desktop.
La mia visione era di creare una piattaforma online completa per questo contenuto, con:
- Capacità di streaming audio completo
- Ricerca testuale attraverso le trascrizioni
- Visualizzazione dei sottotitoli in tempo reale durante la riproduzione
Questo progetto era un sogno di lunga data, ma i costi di trascrizione erano precedentemente proibitivi—potenzialmente migliaia di euro usando servizi tradizionali. Grazie a Whisper, posso ora processare tutto questo audio gratuitamente usando la GPU del mio desktop.
Questi requisiti richiedevano una soluzione server robusta con una sostanziale capacità di storage. Dopo un’attenta ricerca (incluse consultazioni con ChatGPT e Claude), ho sviluppato questo piano di implementazione:
- Acquisire un Server Dedicato da Hetzner – Selezionato per affidabilità, convenienza e controllo completo
- Installare Debian (Versione 12) – Scelto per la sua stabilità e credenziali di sicurezza
- Deployare Virtualmin – Per semplificare la gestione multi-dominio
- Integrare Cloudflare – Fornendo capacità DNS, SSL e caching di livello enterprise
Ottenere un Server Dedicato da Hetzner
Dopo aver confrontato diversi provider di hosting e le loro offerte, ho deciso di optare per un server dedicato da Hetzner - specificamente il loro modello i7-7700 con 64GB di RAM e un HDD da 8TB. La scelta è stata guidata dalle mie esigenze specifiche: volevo una macchina potente che potesse gestire più progetti simultaneamente fornendo ampio spazio di archiviazione per i file multimediali. Il processore i7 offre eccellenti performance per il web hosting e task server generali, mentre lo storage da 8TB assicura che non incontrerò limitazioni di spazio nel prossimo futuro.
Inizialmente, consideravo di usare questo server anche per workload AI/ML. Tuttavia, ho rapidamente realizzato che senza una GPU dedicata, non sarebbe stato pratico per eseguire modelli usando Ollama. Mentre l’i7-7700 è ottimo per web hosting e computing generale, non è progettato per workload AI intensivi. Hetzner offre server con GPU, ma partono da €122/mese - un punto di prezzo difficile da giustificare per progetti hobby. Per task legati all’AI, continuerò a usare il mio PC desktop, che è meglio equipaggiato con una CPU i7-14700 e una GPU RTX 4070 Ti Super.
Ecco quanto ho finito per pagare per il server:

Dopo aver ricevuto le credenziali del mio server, il primo passo è stato mettere in sicurezza il sistema. Ho effettuato l’accesso via SSH e immediatamente configurato l’autenticazione con chiave SSH per una sicurezza migliorata. Poi, ho eseguito un aggiornamento completo del sistema per assicurarmi che tutti i pacchetti fossero aggiornati. Per la gestione del server, volevo un’interfaccia grafica user-friendly.
Dopo aver ricercato varie opzioni e consultato assistenti AI, ho determinato che Webmin/Virtualmin sarebbe stata la soluzione perfetta per le mie esigenze.
Installazione e Configurazione di Virtualmin
Il processo di installazione di Virtualmin è stato semplice - ho usato il loro script di installazione ufficiale che gestisce tutte le dipendenze necessarie. Una volta installato, ho acceduto all’interfaccia web attraverso la porta 10000 e ho seguito la configurazione iniziale. La procedura guidata mi ha accompagnato attraverso impostazioni importanti come la configurazione email, opzioni del web server e parametri di sicurezza.

Uno dei più grandi vantaggi di usare Virtualmin è quanto rende facile creare nuovi sottodomini per testare diversi progetti. L’interfaccia fornisce un modo diretto per creare nuovi server virtuali, ognuno con il proprio ambiente isolato.
Per esempio, quando ho voluto sperimentare con la creazione di un chatbot usando l’API Gemini di Google, ho potuto rapidamente:
- Creare un nuovo sottodominio attraverso l’interfaccia di Virtualmin
- Configurare un ambiente virtuale Python specifico per quel progetto
- Installare le dipendenze richieste senza preoccuparmi di conflitti
- Deployare e testare l’applicazione in isolamento
Questo approccio modulare è perfetto per sperimentare con nuove idee o testare diverse configurazioni senza rischiare interferenze con altri progetti.

Ogni server virtuale ottiene il proprio:
- Configurazione web server
- Spazio file system
- Gestione processi
- Certificati SSL (gestiti automaticamente attraverso Cloudflare)
- Database (se necessario)
Questo isolamento significa che posso liberamente sperimentare con diverse tecnologie e framework senza preoccuparmi di rompere servizi esistenti. Se un esperimento non funziona, posso semplicemente eliminare il server virtuale e ricominciare da capo, mantenendo i miei progetti principali completamente inalterati.
Setup dell’Integrazione Cloudflare
Configurare Cloudflare come reverse proxy è stato sorprendentemente semplice - funziona perfettamente con i server virtuali di Virtualmin out of the box! Una volta che ho puntato i nameserver del mio dominio a Cloudflare, ogni sottodominio si è automaticamente risolto nello spazio server virtuale corretto. Cloudflare gestisce anche i certificati SSL e fornisce sicurezza aggiuntiva nascondendo l’IP del mio server dietro la loro rete.
Sviluppo Rapido di MVP con Claude Code
Un beneficio inaspettato di questo setup è stato quanto bene si combina con Claude Code per la prototipazione rapida. Con accesso SSH al server e Claude Code in esecuzione localmente, posso creare nuovi progetti incredibilmente velocemente.
Il mio flusso di lavoro tipico è questo:
- Creare un nuovo sottodominio in Virtualmin (circa 30 secondi)
- Connettersi via SSH al server e navigare nella nuova directory del progetto
- Descrivere il progetto a Claude Code e lasciarlo scaffoldare l’intera applicazione
- Iterare in tempo reale - Claude può leggere gli errori, correggere problemi e deployare modifiche istantaneamente
Questo approccio mi ha permesso di costruire e deployare MVP in ore invece che giorni. Alcuni esempi:
- canvas.mdrzn.it - Una lavagna infinita AI-powered con generazione di immagini (React + Express + multipli provider AI)
- translate.mdrzn.it - Un servizio di traduzione
- stats.mdrzn.it - Dashboard di analytics
- Screenshot Uploader - Strumenti cross-platform per condivisione screenshot con Claude Code via SSH
La combinazione della facile gestione dei sottodomini di Virtualmin e la capacità di Claude Code di scrivere, debuggare e deployare codice significa che posso passare dall’idea al prototipo funzionante estremamente rapidamente. Ogni progetto ottiene il proprio ambiente isolato, così gli esperimenti non interferiscono mai con i servizi in produzione.
Perché Funziona Così Bene
- Feedback loop immediato: Le modifiche si deployano istantaneamente, Claude può vedere gli errori in tempo reale
- Accesso completo al sistema: Claude può installare dipendenze, configurare servizi, impostare database
- Ambiente persistente: A differenza dello sviluppo locale, il server è sempre acceso e accessibile
- Pulizia facile: Se un progetto non funziona, basta eliminare il server virtuale
Questo ha fondamentalmente cambiato il mio approccio ai progetti collaterali. Invece di pensare troppo all’architettura e alla pianificazione, posso semplicemente iniziare a costruire e iterare in base a ciò che funziona davvero.
Guardando Avanti
Questo setup fornisce esattamente ciò che cercavo: una soluzione di hosting centralizzata e sicura con storage abbondante e la flessibilità di gestire più progetti efficientemente. L’infrastruttura è ora pronta per gestire varie applicazioni web, da semplici siti statici ad applicazioni più complesse che richiedono significativo storage e potenza di elaborazione. Nel prossimo post, approfondirò i dettagli del setup del progetto di archivio de Lo Zoo di 105, incluse le sfide e le soluzioni coinvolte nella creazione di un archivio audio ricercabile con trascrizioni.
← Torna al blog