# 2. Requisiti Hardware e Software

## Scelta dell'Hardware

Non è necessario hardware di fascia alta per iniziare. Le opzioni includono:

* **Mini PC (es. processori Intel N100)**: Ottimo rapporto prestazioni/consumi, supporta transcodifica video. Consigliato.
  * si consiglia [prodotti zimastore](https://shop.zimaspace.com/) che hanno porte pci e possibilità di upgrade futuri
* **Thin Client e PC ricondizionati**: Economici, prestazioni adeguate e bassi consumi.
* **Raspberry Pi**: Basso consumo energetico. Ideale per servizi leggeri.
* **Hardware di recupero**: Vecchi computer. Costo iniziale nullo, ma consumi elettrici più elevati.

## Scelta dei Dischi

La scelta del supporto di memorizzazione deve bilanciare prestazioni, capacità e costi.

| Tipo di Disco | Prestazioni | Costo/GB | Utilizzo Consigliato | Note Specifiche |
| :--- | :--- | :--- | :--- | :--- |
| **SSD NVMe (M.2)** | Molto elevate | Elevato | Sistema operativo, container (Docker), database. | Massima reattività del sistema. |
| **SSD SATA** | Medie | Medio | Macchine virtuali, cache, servizi secondari. | Compromesso tra velocità e capacità. |
| **HDD CMR (NAS)** | Basse | Basso | Archiviazione di massa, media server, backup. | Es. WD Red Plus, IronWolf. Progettati per uso 24/7 e array RAID/ZFS. |
| **HDD SMR** | Molto basse | Molto basso | Nessuno in ambito self-hosting. | **Da evitare** per NAS/RAID: cali drastici di prestazioni e rischi di ricostruzione fallita. |

### Panoramica sui RAID (Redundant Array of Independent Disks)

Il RAID permette di combinare più dischi fisici logici per migliorare la tolleranza ai guasti (ridondanza) e le prestazioni. 

**Nota fondamentale: il RAID garantisce la continuità operativa in caso di guasto hardware, ma NON sostituisce un backup esterno.**

È **fortemente consigliato** implementare almeno una configurazione in **RAID 1** per i dati essenziali.

| Livello RAID | Dischi Minimi | Tolleranza Guasti | Caratteristiche | Utilizzo Consigliato |
| :--- | :--- | :--- | :--- | :--- |
| **RAID 0 (Stripe)** | 2 | Nessuna | Somma le capacità e massimizza la velocità. La rottura di un disco distrugge tutti i dati. | Cache temporanee o dati sacrificabili. Da evitare per lo storage principale. |
| **RAID 1 (Mirror)** | 2 | 1 disco | I dati sono scritti identici su due dischi. La capacità totale è pari a quella del disco più piccolo. | **Raccomandato** come base per sistema operativo o dati importanti. |
| **RAID 5 / RAID-Z1** | 3 | 1 disco | Distribuisce dati e parità sui dischi. Buon compromesso tra spazio utile e ridondanza. | Archiviazione di massa su NAS (es. 3 o 4 dischi). |
| **RAID 6 / RAID-Z2** | 4 | 2 dischi | Doppia parità. Sopravvive alla rottura simultanea di due dischi. | Array di storage di grandi dimensioni. |

## Backup e Sicurezza Dati

Il RAID garantisce la continuità operativa, non protegge da cancellazioni accidentali, corruzione software o ransomware. Una strategia di backup indipendente è obbligatoria.

**La Regola del 3-2-1**
Lo standard di settore per garantire l'integrità e la reperibilità dei dati prevede:

* **3 copie dei dati**: Il dato primario e due copie di backup.
* **2 supporti fisici differenti**: Memorizzare i backup su media diversi (es. NAS principale e un disco USB esterno o un secondo server locale).
* **1 copia off-site (remota)**: Mantenere una copia fisicamente in un altro luogo per proteggersi da disastri locali (incendi, furti). Implementabile tramite storage Cloud (es. AWS S3, Backblaze B2) o un NAS remoto.

**Software consigliati**: BorgBackup, Restic, Kopia, Proxmox Backup Server.

## Scelta del Sistema Operativo

Le interfacce grafiche desktop consumano risorse e vengono omesse a favore della riga di comando o interfacce web.

### Sistemi Operativi Linux Tradizionali
* **Debian** [**Guida**](https://bookstack.phast.foo/books/self-hosting-per-principianti/chapter/21-debian) : Massima stabilità e leggerezza.

### Sistemi per NAS
* [**TrueNAS**](https://www.truenas.com/truenas-community-edition/): Ottimo punto di partenza per principianti con esigenze focalizzate sull'archiviazione. Supporta nativamente l'installazione di container e applicazioni oltre alla gestione avanzata dei dischi (ZFS).

### Soluzioni All-in-One
* [**YunoHost**](https://yunohost.org/): Sistema operativo basato su Debian che automatizza l'installazione e la configurazione dei servizi tramite un'interfaccia web. Estremamente consigliato per chi cerca semplicità immediata.
* [**CasaOS**](https://casaos.zimaspace.com/): Interfaccia web installabile su Linux. Semplifica il deployment tramite GUI.

### Soluzioni Pro
* [**Proxmox VE**](https://www.proxmox.com/en/): Hypervisor bare-metal per macchine virtuali e container (LXC). Richiede hardware più performante.
  
(Aggiornamento futuro) Note: per ogni soluzione verrà fornita una configurazione.
## Esempio di Sistema Economico: ZimaBlade + TrueNAS

Configurazione entry-level ottimizzata per affidabilità e basso costo, ideale per archiviazione sicura e gestione di servizi basilari.

* **Hardware**: ZimaBlade. Basso consumo, ingombro minimo, dotato di interfaccia PCIe per espansioni (es. controller SATA addizionali).
* **Storage**: 2x HDD WD Red Plus (tecnologia CMR, specifici per NAS).
* **Configurazione Dischi**: RAID 1 (Mirror). Garantisce ridondanza dei dati tollerando la rottura di un disco.
* **Sistema Operativo**: TrueNAS. Offre gestione avanzata dei volumi tramite file system ZFS e interfaccia web per l'amministrazione.
* **Carico di Lavoro**: Adatto per archiviazione file (SMB/NFS), target di backup, media server per flussi diretti e servizi leggeri in container (es. Pi-hole, istanza base di Nextcloud).