64. Backup e disaster recovery
Ti serve da capire all’inizio: i tuoi dati sono al sicuro?. Cosa succede se il VPS crasha, se qualcuno cancella il database per sbaglio, se Coolify si rompe. Risposta breve: stai tranquillo, ci sono backup automatici.
Cosa viene salvato in automatico
Il sistema ha due livelli di backup, gestiti dal tuo referente tecnico:
1. Database (Neon)
Il database PostgreSQL gira su Neon, un servizio cloud specializzato. Neon offre il Point-in-Time Recovery (PITR): in qualunque momento il referente tecnico puo’ ripristinare il database allo stato esatto di qualunque secondo degli ultimi 7 giorni (piano gratuito) o fino a 30 giorni (piano a pagamento).
In pratica: se il 3 maggio alle 14:32:15 qualcuno cancella per sbaglio 1000 ordini, il referente puo’ tornare al 3 maggio 14:32:14 e recuperare tutto, perdendo solo 1 secondo di dati.
2. VPS e codice (Coolify)
L’applicazione Peppe (codice + configurazione) gira su un VPS gestito da Coolify. Coolify fa snapshot del VPS regolari (intervallo configurato dal referente, tipicamente giornalieri). In caso di disastro hardware del server, il referente puo’ ricostruire la macchina da snapshot in 1-2 ore.
Il codice sorgente e’ su GitHub (Repository privato): in caso estremo si puo’ fare un deploy nuovo su un VPS pulito in 30-45 minuti puntando al solito database.
Cosa puoi perdere nel peggior scenario
Lo scenario peggiore realistico e’ un crash hardware totale del VPS senza preavviso. Tempo di ripristino tipico:
| Componente | Tempo recupero |
|---|---|
| Database (ordini, clienti, menu) | 5-15 minuti (PITR Neon, gia’ separato dal VPS) |
| Sito web pubblico | 30-60 minuti (deploy nuovo) |
| Pannello admin / KDS | stesso del sito (insieme) |
| Stripe / Resend / Twilio | 0 (servizi esterni, non toccati) |
Tempo totale stimato di disservizio: massimo 1-2 ore. I dati fiscali (ordini pagati) non si perdono: stanno su Neon, separato fisicamente dal VPS.
Cosa NON e’ coperto
- Errori dell’utente irreversibili — se TU cancelli un cliente via il bottone GDPR (sezione 62), quei dati sono persi davvero: e’ una cancellazione voluta, non un crash. Il PITR potrebbe recuperarli solo se tornassi indietro a un istante prima della cancellazione, ma quello rollbacka anche TUTTO il resto (tutti gli ordini fatti dopo, tutti i nuovi clienti, ecc.). E’ un’operazione drastica, da farsi solo per disastri seri, non per errori isolati.
- Compromissione account Anthropic / Stripe / Resend — non dipende da te ne’ dal referente. Sono account esterni con la loro sicurezza (2FA obbligatoria, pero’).
- Foto piatti su Cloudinary — Cloudinary ha la sua replica interna, ma se cancelli una foto via la UI admin, la perdi. Per foto importanti tieni una copia locale sul tuo PC.
Cosa devi fare TU
Quasi nulla, ma:
- Non condividere le credenziali del pannello admin con persone non autorizzate.
- Non rispondere a email sospette che chiedono “conferma password” o “verifica account”: sono phishing.
- Avvisa subito il referente tecnico se vedi qualcosa di strano (ordini che spariscono, prezzi cambiati senza che tu lo abbia fatto, login da posizioni sconosciute).
Tutto il resto (backup, monitoring, ripristino) lo gestisce il referente tecnico. Vedi sezione 68 per i contatti supporto.
Suggerimento: una volta all’anno chiedi al referente di fare un test di restore: ripristinare il backup di ieri su un ambiente di test e verificare che tutto funzioni. E’ la prova del nove che il sistema di backup non e’ un placebo. Costa 30 minuti al referente, ti da’ la pace mentale per tutto l’anno.
Attenzione: non provare a fare backup manuali del database tu. I dump SQL fatti male possono contenere password hash o token sensibili e finire su un Dropbox personale -> violazione GDPR. Il backup e’ affidato al referente tecnico per design.