# 1. Introduzione al Self-Hosting

## Cos'è il self-hosting

Il self-hosting è la pratica di ospitare e gestire personalmente servizi, applicazioni e dati su hardware di proprietà o controllato direttamente, invece di affidarsi a fornitori cloud di terze parti. Consiste nell'eseguire software, generalmente open-source, su un server domestico o un Virtual Private Server (VPS) per replicare o sostituire le funzionalità dei servizi commerciali.

## Pro e Contro

### Pro
* **Privacy**: I dati non vengono ceduti a terzi.
* **Controllo**: Gestione totale dell'infrastruttura, del software e degli accessi.
* **Risparmio a lungo termine**: Riduzione o eliminazione degli abbonamenti mensili per servizi cloud.
* **Formazione**: Acquisizione di competenze in ambito sistemistico, reti e sicurezza.

### Contro
* **Responsabilità**: Sicurezza, aggiornamenti e continuità del servizio dipendono esclusivamente dall'amministratore.
* **Investimento iniziale**: Necessità di acquistare hardware.
* **Curva di apprendimento**: Richiede tempo per studiare e implementare le soluzioni.
* **Rischio perdita dati**: Richiede l'implementazione autonoma di strategie di backup efficaci.

## Casi d'uso comuni

* **Cloud Storage**: Sincronizzazione e archiviazione file (es. Nextcloud).
* **Media Streaming**: Gestione di librerie video e audio personali (es. Jellyfin).
* **Password Manager**: Archiviazione crittografata delle credenziali (es. Vaultwarden).
* **DNS Sinkhole**: Blocco di pubblicità e tracker a livello di rete locale (es. Pi-hole).
* **Domotica**: Controllo locale dei dispositivi smart home (es. Home Assistant).