SSD Nodes Learn Hosting plans →
Guide Matt ConnorDi Matt Connor

25 app da self-hostare nel 2026: cosa scegliere

Scopri 25 app self-hosted da eseguire nel 2026, divise per funzione, con alternative sostituite, RAM e disco realistici e il problema da conoscere.

Cosa stai costruendo

Non una singola applicazione, ma una selezione. Questa è la base di tutto il resto del sito: venticinque applicazioni che vale davvero la pena eseguire sul proprio VPS nel 2026, raggruppate in base alla funzione. Per ciascuna trovi il servizio che sostituisce, una stima realistica di RAM e spazio su disco e l’unico aspetto che può causare problemi se lo ignori. I collegamenti rimandano alla guida completa passo passo, quando disponibile.

Gestisco host VPS da quindici anni e utilizzo la maggior parte di queste applicazioni sui miei server. Per questo, i valori delle risorse riportati di seguito corrispondono all’utilizzo effettivo dell’applicazione con un carico reale ridotto, non al requisito “minimo” indicato nelle pagine di marketing. Considerali come una base di pianificazione e aggiungi un margine.

Prerequisiti e realtà operative

Tutte le applicazioni descritte funzionano su un VPS KVM Ubuntu 24.04 appena installato, con accesso root o sudo. Lo stesso elenco funziona anche su un server in casa. Se stai confrontando il canone mensile con l'acquisto una tantum della RAM, Proxmox in casa rispetto a un VPS a noleggio analizza i costi di hardware ed energia. Quasi tutte vengono distribuite come container Docker. È quindi sufficiente installare Docker una volta per essere pronti per quasi tutto l'elenco. Le due eccezioni sono Cloudron e CasaOS, che si installano sull'host tramite i rispettivi script di configurazione. Vedi la sezione sui pannelli di controllo:

curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker "$USER"
newgrp docker
docker run --rm hello-world

Se i comandi docker restituiscono permission denied while trying to connect to the Docker daemon socket, il gruppo non è stato configurato oppure non hai aperto una nuova shell. Esegui il logout e accedi di nuovo. Se docker compose restituisce docker: 'compose' is not a docker command, è presente il vecchio binario standalone. Lo script precedente installa il moderno plugin Compose, che viene eseguito come docker compose, con uno spazio e non con un trattino.

Tre aspetti determinano la configurazione descritta di seguito. Primo: il vincolo è la RAM, non il disco o la CPU. Un VPS da 1 GB esegue una sola applicazione di piccole dimensioni e nulla più. 4 GB rappresentano il punto ideale per un server destinato a ospitare alcuni servizi. 2 GB sono una configurazione intermedia problematica: un principiante aggiunge un terzo servizio, il sistema termina il processo per esaurimento della memoria e non è chiaro perché il container sia semplicemente scomparso. sudo dmesg mostra la riga Out of memory: Killed process che il demone ha assorbito. Secondo: tutto ciò che viene pubblicato su Internet richiede un nome e un certificato. Un indirizzo IP senza nome è sufficiente per i test, ma non appena vuoi che un'app mobile o un browser si fidi del servizio, non è più sufficiente. Terzo: due porte determinano metà delle possibilità: la porta in ingresso 80 deve raggiungere il server per la verifica del certificato HTTP-01 standard. Una verifica DNS-01 evita questo requisito dimostrando il controllo del dominio tramite un record DNS, quindi è utile quando la porta 80 è chiusa. La porta in uscita 25 è bloccata dalla maggior parte dei provider. Per questo l'e-mail è inclusa nell'elenco delle applicazioni da non installare alla fine.

File e foto

  • Nextcloud sostituisce Google Drive, Dropbox e Google Calendar in un'unica suite. Considera 1–2 GB di RAM, oltre allo spazio richiesto dai file. Il problema principale è questo: SQLite va bene per una demo, ma in produzione crea problemi. Installalo su PostgreSQL fin dal primo avvio, perché migrare il database dopo avervi inserito i dati è il modo più comune per danneggiare un'installazione Nextcloud. La guida completa Nextcloud su un VPS con Docker, TLS e backup illustra la configurazione corretta fin dall'inizio.
  • Immich sostituisce Google Photos, compresa l'app per telefono che carica automaticamente le foto della fotocamera e consente di cercare volti e oggetti. Considera 6 GB di RAM: la documentazione di Immich indica questa quantità come requisito minimo. 8 GB sono una dotazione più comoda. Il container di machine learning è il componente che richiede più risorse. Per lo spazio su disco, considera le dimensioni della libreria più circa il venti per cento per le miniature. Il problema principale è questo: Immich usa il versionamento semantico fin dalla prima release stabile, v2.0.0, pubblicata nell'ottobre 2025. Le modifiche incompatibili vengono quindi riservate alle versioni principali. Immich è già passato alla v3, quindi non eseguire mai un pull indiscriminato di latest, perché potresti passare direttamente alla prossima versione principale. Fissa una versione e leggi le release notes prima di ogni aggiornamento. La guida libreria fotografica Immich self-hosted descrive il percorso di aggiornamento sicuro. Se il requisito minimo di 6 GB supera la memoria disponibile sul server, PhotoPrism e Immich a confronto mette a confronto i due progetti in base all'uso effettivo della memoria, alle app per telefono e ai comandi di backup necessari prima di affidare una libreria all'uno o all'altro.
  • Seafile sostituisce Dropbox con il motore di sincronizzazione più veloce dei tre. Considera circa 1 GB di RAM. Il problema principale è questo: Seafile memorizza i file come blocchi identificati dal contenuto, non come file normali sul disco. Di conseguenza, non puoi esplorare i dati con ls e devi eseguire il backup tramite gli strumenti di Seafile, non copiando una directory.

Password

  • Vaultwarden sostituisce il piano a pagamento di Bitwarden, LastPass e 1Password con un server Rust molto compatto che utilizza il protocollo Bitwarden. Tutte le app ufficiali di Bitwarden e le estensioni per browser funzionano quindi senza modifiche. Considera 100–200 MB di RAM e uno spazio su disco quasi nullo. Il punto critico è che questo server contiene tutte le password utilizzate. Per questo TLS e i backup non sono opzionali: sono l'obiettivo principale dell'installazione. Imposta il ADMIN_TOKEN come hash Argon2. Un token in chiaro nel file compose è infatti la password del pannello di amministrazione del server, che elenca tutti gli utenti e consente di modificare le impostazioni del server. Il token resterebbe leggibile da chiunque possa accedere al file. La guida al gestore di password Vaultwarden è il miglior punto di partenza possibile per il primo self-hosting.

Media

  • Jellyfin sostituisce Plex e, per la propria libreria, anche Netflix: è completamente open source, non richiede un account e non impone servizi di streaming remoto a pagamento. In condizioni di inattività richiede 1–2 GB di RAM, ma durante la transcodifica il carico sulla CPU può aumentare rapidamente. Il problema è che la transcodifica software di un flusso 4K può saturare una piccola VPS; è quindi necessario fornire al server l'accelerazione hardware oppure mantenere i file in un formato riproducibile direttamente dai client (Direct Play), così il server deve soltanto trasferire i dati. La guida server multimediale Jellyfin su una VPS spiega la differenza. Dopo l'avvio, Halcyon trasforma la stessa libreria in un videonoleggio anni '90 esplorabile dal browser: è il metodo più semplice ed efficace che conosca per spingere chi utilizza il server a sfogliare gli scaffali invece di scorrere oltre ogni contenuto.
  • Navidrome sostituisce Spotify per la propria musica e consente lo streaming verso qualsiasi applicazione compatibile con Subsonic. Richiede 150–300 MB di RAM; è scritto in Go e il suo consumo di risorse è minimo. Il problema è che la prima scansione della libreria legge i tag di ogni file e può richiedere un'ora per una raccolta di grandi dimensioni. Tag ID3 errati producono un'esperienza di consultazione altrettanto errata.
  • Audiobookshelf sostituisce Audible e l'app per i podcast, mantenendo la posizione di riproduzione tra i dispositivi. Richiede 200–500 MB di RAM. Il problema è che si aspetta una struttura rigida, con una directory per ogni libro. Una directory di importazione disordinata produce una libreria disordinata e rilevata solo parzialmente, difficile da correggere in seguito.

Automazione e AI

  • n8n sostituisce Zapier e Make con un builder visuale per i workflow che gestisci direttamente, senza costi per singola attività. Prevedi 400 MB–1 GB di RAM. Attenzione: n8n cifra le credenziali salvate con una chiave generata al primo avvio. Se perdi questa chiave, oppure dimentichi di impostare N8N_ENCRYPTION_KEY e n8n la rigenera, tutte le credenziali salvate diventano illeggibili e devi reinserirle. La guida n8n self-hosted con HTTPS fissa la chiave e configura un certificato valido davanti agli URL dei webhook.
  • Ollama sostituisce un abbonamento a ChatGPT per eseguire localmente e in modo privato l'inferenza con modelli LLM. La memoria necessaria dipende dal modello: un modello da 7–8B richiede circa 8 GB di RAM. Lo spazio su disco dipende dalla quantizzazione: in genere circa 4–5 GB per il download usuale a 4 bit e almeno 13 GB per una build fp16 a precisione completa. Attenzione: su un VPS con la sola CPU, l'inferenza funziona ma è lenta. Considera le prestazioni in parole al secondo, non le risposte immediate di un'API ospitata. Definisci quindi aspettative realistiche oppure noleggia un server con GPU. La guida eseguire Ollama per self-hostare un LLM riporta valori realistici.

Comunicazione

  • Rocket.Chat sostituisce Slack per un team e offre thread, chiamate e integrazioni. Prevedere almeno 2 GB di RAM, perché utilizza MongoDB, che è il componente più esigente in termini di risorse. Il punto critico è la compatibilità limitata tra ciascuna release principale di Rocket.Chat e le versioni di MongoDB: la serie 8.x richiede MongoDB 8.0 o versioni successive, mentre la serie 7.x funzionava con MongoDB 6.0 o 7.0. Inoltre, le linee guida di aggiornamento di Rocket.Chat indicano di passare attraverso le versioni principali in ordine. Saltarne una può lasciare il database in uno stato non aggiornabile. Eseguire quindi un aggiornamento alla volta. La guida Rocket.Chat con Docker Compose descrive la sequenza delle versioni.
  • Matrix (Synapse) sostituisce Slack e Discord con una rete federata e dotata di crittografia end-to-end, in cui si gestisce il proprio homeserver. Prevedere 1–2 GB di RAM, aumentando la quantità in caso di partecipazione a stanze pubbliche federate di grandi dimensioni. Il punto critico è che il consumo di memoria di Synapse aumenta rapidamente nelle stanze federate numerose e che il servizio deve usare PostgreSQL. La configurazione predefinita con SQLite è adatta soltanto a un test con un singolo utente e smette di essere sufficiente non appena si abilita la federazione. Se Synapse risulta troppo pesante, i server Conduit o Dendrite, più leggeri, supportano lo stesso protocollo.

Rete e accesso

  • WireGuard sostituisce una VPN commerciale e fornisce un tunnel privato verso il tuo indirizzo IP e gli altri tuoi servizi. Richiede pochissime risorse: meno di 50 MB, mentre la crittografia viene eseguita nel kernel. Il limite è il seguente: nella virtualizzazione basata su container (OpenVZ, alcuni sistemi LXC) il modulo non funziona con RTNETLINK answers: Operation not supported; è preferibile usare KVM. La guida VPN WireGuard self-hosted è il riferimento. Associarla a servizi vincolati al tunnel permette di mantenerli completamente fuori da Internet pubblico. Se non vuoi modificare manualmente la configurazione di un peer per ogni nuovo dispositivo, eseguire un router subnet Tailscale sul VPS annuncia invece l'intero intervallo privato alle altre macchine, dopo l'approvazione della route e la configurazione dell'IP forwarding affinché venga mantenuto dopo un riavvio.
  • Traefik sostituisce i virtual host nginx scritti manualmente e il rinnovo manuale dei certificati. Rileva i container tramite le relative label Docker e recupera automaticamente i certificati Let's Encrypt. Richiede circa 100 MB di RAM. Il limite è il seguente: all'inizio il modello di configurazione basato sulle label è realmente difficile da comprendere e una sola label errata lascia un'applicazione senza routing, spesso senza un errore evidente. La guida reverse proxy Traefik per più applicazioni Docker è progettata esattamente per eseguire diverse applicazioni di questa pagina dietro un unico punto di ingresso.
  • AdGuard Home sostituisce un'istanza Pi-hole e i servizi DNS a pagamento per il filtraggio. Blocca annunci e tracker per ogni dispositivo della rete a livello DNS. Richiede 100–150 MB di RAM. Il limite è il seguente: deve utilizzare la porta 53, che su Ubuntu entra in conflitto con systemd-resolved; l'avvio fallisce con listen udp 0.0.0.0:53: bind: address already in use finché non liberi prima la porta.

Monitoraggio

  • Uptime Kuma sostituisce Pingdom, UptimeRobot e StatusPage con una dashboard chiara e avvisi verso quasi qualsiasi canale. Prevedere 150–300 MB di RAM. L’aspetto critico, che viene spesso trascurato, è il seguente: monitorare il server di produzione da un server diverso. Se Uptime Kuma è in esecuzione sullo stesso server che monitora, non può segnalare l’arresto di quel server. La guida monitoraggio dello stato con Uptime Kuma descrive il posizionamento esterno.
  • Zabbix sostituisce Datadog e le suite di monitoraggio aziendali, offrendo metriche dettagliate basate su agent, trigger e storico. Prevedere almeno 2 GB di RAM, oltre al database dedicato. L’aspetto critico è che Zabbix è potente e richiede una configurazione realmente complessa: è sovradimensionato per monitorare tre container, ma adatto a un parco di sistemi. Iniziare con Uptime Kuma; passare al server di monitoraggio Zabbix quando si dispone effettivamente di un’infrastruttura da monitorare.

Prometheus e Grafana sono esclusi intenzionalmente da questo elenco: sono strumenti eccellenti per il monitoraggio di infrastrutture estese, ma sono più complessi da eseguire e configurare rispetto a quanto giustifichi uno stack personale composto da due o tre server. A questa scala, Uptime Kuma e Zabbix rispondono alle stesse esigenze con meno attività di manutenzione.

Dashboard e pannelli di controllo

Queste soluzioni cambiano completamente il modello operativo: invece di eseguire manualmente i file Compose, un pannello gestisce le applicazioni al posto tuo.

  • Cloudron sostituisce il desiderio di poter installare tutto con un clic con un app store curato, TLS automatico e backup integrati. Considera almeno 2 GB di RAM; con 4 GB hai un margine adeguato. Il limite principale è che il prodotto segue scelte architetturali molto rigide e tende a gestire l’intero server. Viene installato su un server Ubuntu appena predisposto tramite il proprio script cloudron-setup, non come container. La documentazione esclude gli host ARM, LXC, Docker e OpenVZ. Inoltre, la versione gratuita consente di eseguire al massimo due applicazioni; oltre questo limite, il prodotto è a pagamento.
  • CasaOS sostituisce un dashboard homelab disordinato con una griglia di applicazioni semplice da usare, gratuita e leggera. Viene installato sull’host tramite il proprio script (curl -fsSL https://get.casaos.io | sudo bash), non come container, e in seguito esegue le applicazioni in Docker. Considera circa 150-300 MB per CasaOS. Il limite principale è che il prodotto è progettato per una rete domestica affidabile e non è protetto adeguatamente per l’esposizione su Internet. Non esporlo direttamente; accedi tramite WireGuard.
  • Coolify sostituisce Heroku, Vercel e Netlify, offrendo deployment tramite git push, database e ambienti di anteprima sul tuo server. Considera almeno 2 GB di RAM. Il limite principale è che si tratta di un progetto più recente, con uno sviluppo rapido. Blocca le versioni e leggi le note di rilascio prima di eseguire un aggiornamento. Il confronto tra Cloudron, CasaOS e Coolify spiega quale delle tre soluzioni è più adatta ai diversi profili di utente.

Strumenti per sviluppatori e produttività

  • Gitea (o Forgejo) sostituisce GitHub per repository privati, issue e CI. Prevedi 200–500 MB di RAM. Attenzione: Forgejo è il fork di Gitea gestito dalla community e quello che oggi molti consigliano; entrambe le soluzioni sono valide, ma scegli una sola piattaforma ed esegui il backup dei repository e del database insieme. Un backup dei soli repository perde tutte le issue e le pull request.
  • Paperless-ngx sostituisce lo schedario e gli scanner di documenti a pagamento. Esegue l'OCR di tutti i documenti, rendendoli ricercabili. Prevedi circa 1 GB di RAM, con picchi di CPU durante l'OCR. Attenzione: la qualità dei risultati OCR dipende dalla qualità delle scansioni e la rielaborazione di un archivio di grandi dimensioni è lenta. Ottimizza la configurazione prima di importare in blocco dieci anni di documenti cartacei.
  • Actual Budget sostituisce YNAB e il servizio Mint, ormai chiuso, con un sistema rapido, locale e privato per la gestione del budget a buste. Prevedi circa 150 MB di RAM. Attenzione: la sincronizzazione automatica con le banche è integrata ma facoltativa. Funziona solo dopo la registrazione presso un provider regionale come SimpleFIN Bridge o Enable Banking e dopo l'inserimento delle tue credenziali API. Nella configurazione predefinita devi quindi importare manualmente le transazioni.
  • FreshRSS sostituisce Feedly e il servizio Google Reader, ormai dismesso. È un lettore di feed rapido e privato, con app per dispositivi mobili. Prevedi circa 150 MB di RAM. Attenzione: configura l'aggiornamento dei feed basato su cron. In caso contrario, i feed vengono aggiornati solo quando apri la pagina.
  • BookStack sostituisce Notion e Confluence per la documentazione, organizzata in scaffali, libri e pagine. Prevedi circa 500 MB di RAM con PHP e MySQL. Attenzione: struttura i contenuti secondo una propria organizzazione, invece di usare note a formato libero. Alcuni utenti la apprezzano, mentre altri la considerano rigida. Provala prima di trasferire l'intera wiki.
  • Home Assistant sostituisce SmartThings e numerose app dei produttori, unificando la gestione della smart home in locale. Prevedi circa 1 GB di RAM. Attenzione: molte funzioni dipendono dall'accesso alla rete locale dei dispositivi. Per questo viene usato più naturalmente su hardware installato in casa che su un VPS remoto. Se necessario, esegui il dashboard da remoto e configura un bridge verso la rete domestica.

Un'installazione rappresentativa

Per rendere l'esempio concreto, ecco la struttura completa di un servizio self-hosted: un file Compose, un certificato valido e un backup. In questo caso usiamo Uptime Kuma, ma tutte le applicazioni dell'elenco seguono lo stesso schema.

services:
  uptime-kuma:
    image: louislam/uptime-kuma:2
    container_name: uptime-kuma
    volumes:
      - ./data:/app/data
    ports:
      - "127.0.0.1:3001:3001"
    restart: unless-stopped
docker compose up -d
docker compose logs -f

Notare 127.0.0.1:: l'applicazione è in ascolto soltanto su localhost e un reverse proxy come Traefik o nginx gestisce la terminazione TLS davanti all'applicazione. Il binding diretto su 0.0.0.0:3001 può pubblicare accidentalmente un pannello di amministrazione non cifrato sull'intera Internet.

Cosa NON ospitare autonomamente (per ora)

  • Email. Questo è il caso più delicato. La porta in uscita 25 è bloccata dalla maggior parte dei provider VPS. Vedrete Connection timed out da telnet aspmx.l.google.com 25 e non c'è nulla da correggere sul vostro lato: è una policy del provider. Alcuni provider la sbloccano su richiesta; AWS, ad esempio, consente di chiedere la rimozione della restrizione. Tuttavia, si tratta di una richiesta, non di un semplice interruttore. Anche con la porta 25 aperta, un nuovo indirizzo IP senza reputazione, record PTR, SPF, DKIM e DMARC fa finire i messaggi nella cartella spam o li fa rifiutare direttamente. È un'attività reale e continuativa, non un lavoro da completare in un fine settimana. Se intendete procedere, usate la guida email self-hosted con Mailcow con piena consapevolezza e prevedete di monitorare la deliverability per mesi.
  • Qualsiasi servizio di cui non possiate eseguire e verificare in modo affidabile il backup e il ripristino. Se non avete mai eseguito un test di ripristino, non avete un backup: avete soltanto una speranza. Non archiviate dati insostituibili, l'unica copia delle vostre foto o i vostri account su un servizio finché il ripristino non è stato verificato.
  • L'unica copia di una dipendenza critica. Un server DNS self-hosted che, in caso di arresto anomalo, interrompe l'accesso a Internet dell'intera rete è un cattivo primo progetto. Mantenete un fallback upstream.
  • Sistemi di sicurezza in tempo reale. Allarmi domestici, avvisi medici e qualsiasi sistema per cui cinque minuti di inattività costituiscano un problema concreto non devono essere eseguiti su un server hobbistico che aggiornate la domenica sera.

Come scegliere il primo servizio e i due requisiti irrinunciabili

Scegli l'applicazione che elimina una spesa che ti infastidisce o risolve un problema di privacy che avverti realmente. In pratica, le installazioni iniziali migliori sono Vaultwarden e Uptime Kuma: entrambe sono leggere, utili fin da subito e tollerano bene gli errori di configurazione. Fanne funzionare una dall'inizio alla fine: installazione, certificato, backup e test di ripristino, prima di aggiungerne una seconda. La competenza che stai sviluppando è la gestione operativa, non il semplice clic sul pulsante di installazione.

Su ogni applicazione elencata sopra ci sono due requisiti irrinunciabili, senza eccezioni:

  1. TLS per tutto ciò che è pubblico. Un servizio esposto su un IP senza certificato e in chiaro è una demo, non un deployment. Usa un certificato valido davanti al servizio con Certbot e Let's Encrypt su nginx, oppure lascia che Traefik lo gestisca automaticamente. Quindi proteggi il punto di accesso con Fail2ban per SSH su Ubuntu 24.04.
  2. Backup che hai effettivamente ripristinato. Automatizza ogni notte il dump del database e del volume dati insieme, invialo fuori dal server e, una volta al mese, ripristinalo su un VPS temporaneo per verificare che funzioni. Il giorno in cui il disco si guasta è il momento peggiore per scoprire che il backup era vuoto.

Se gestisci correttamente questi due aspetti, il self-hosting è semplice e soddisfacente. Se li ignori, inizi un conto alla rovescia.

Le opzioni spaziano dalle soluzioni pratiche a quelle assurde: da un server Minecraft su un VPS per la famiglia fino, se apprezzi le storie istruttive, al datacenter meno efficiente del mondo.

FAQ

Cosa dovrei self-hostare per prima cosa?

Vaultwarden. Un password manager offre un valore quotidiano, sostituisce un abbonamento e ti obbliga a imparare l'intero flusso operativo: Docker, un reverse proxy, TLS e i backup. Inoltre, è un'app abbastanza semplice da ricostruire in dieci minuti se qualcosa si rompe. Uptime Kuma è un'ottima seconda scelta: ti permette di rilevare le interruzioni prima dei tuoi utenti.

Di quante risorse VPS ho realmente bisogno?

Per una sola app di piccole dimensioni, 1 GB di RAM è sufficiente. Per un server che esegue comodamente alcune applicazioni, punta a 4 GB. La configurazione intermedia da 2 GB è quella in cui si verificano spesso terminazioni silenziose dei container per esaurimento della memoria, difficili da diagnosticare. La RAM è quasi sempre il limite principale. Aggiungi spazio su disco in base ai dati che prevedi di archiviare. Considera che Immich, Ollama e tutto ciò che usa un database di grandi dimensioni richiedono in genere la maggior quantità possibile di entrambe le risorse.

Cosa non dovrei self-hostare?

Prima di tutto, la posta elettronica. La porta in uscita 25 è bloccata dalla maggior parte dei provider e garantire la recapitação dei messaggi richiede un impegno continuo. Evita poi tutto ciò che non puoi sottoporre in modo affidabile a backup e ripristino, oltre a qualsiasi single point of failure la cui indisponibilità provocherebbe danni concreti, come un server DNS senza fallback o un sistema di sicurezza domestica. Per il resto, tutto ciò che compare in questo elenco è adatto al self-hosting.

Ho bisogno di Docker per tutto questo?

No, ma è consigliato. Tutte le app qui elencate, tranne Cloudron e CasaOS, dispongono di un'immagine Docker. Queste due soluzioni si installano direttamente sull'host tramite i propri script di configurazione e poi eseguono le applicazioni nei container al posto tuo. Per le altre applicazioni, Docker offre installazioni e rimozioni pulite, blocco semplice delle versioni e portabilità verso un nuovo host. Alcune app, tra cui WireGuard e Zabbix, possono essere installate anche in modo nativo tramite apt, se preferisci. Una volta compreso un file compose, gli altri seguono lo stesso modello. Per questo l'intero elenco diventa più accessibile.

Come posso mantenere tutto sicuro?

Quattro abitudini coprono la maggior parte delle esigenze: configura TLS davanti a ogni servizio; proteggi SSH consentendo l'accesso soltanto tramite chiavi e usa Fail2ban per bloccare i tentativi di forza bruta; esponi pubblicamente solo le porte realmente necessarie e raggiungi le altre tramite la tua VPN WireGuard; aggiorna regolarmente i componenti e leggi le note di rilascio, così un aggiornamento non ti coglierà di sorpresa. I backup sono la quinta abitudine: consentono il ripristino quando un errore supera le prime quattro misure.