Guida Operativa: Deployment e Sincronizzazione
Questa guida fornisce istruzioni complete per il deployment dell'applicazione MyGest, la sincronizzazione dei database e la gestione dell'archivio documentale su NAS.
Pensata per utenti con conoscenze di base di Linux, Git e linea di comando.
Versione HTML
Consultazione online con navigazione facilitata, ideale per seguire le procedure step-by-step da browser.
Apri Guida HTMLVersione PDF
Download per consultazione offline, stampa o archiviazione. Perfetto per avere sempre a portata di mano.
Scarica PDF (160 KB)π Contenuti della Guida
Introduzione e Prerequisiti
- Architettura del sistema
- Software necessario
- Configurazione SSH e Git
- Variabili d'ambiente
Deployment Applicazione
- Deployment automatico (GitHub Actions)
- Deployment manuale (SSH)
- Script di deploy
- Verifiche post-deploy
- Rollback e procedure di emergenza
Sincronizzazione Database
- Sync Dev β Prod (merge e full replace)
- Sync Prod β Dev (testing con dati reali)
- Rollback database
- Best practices e retention policy
Gestione Archivio NAS
- Struttura directory e naming conventions
- Configurazione mount NAS
- Permessi e ownership
- Backup automatici con rclone
- Recovery da backup
- Manutenzione archivio
Troubleshooting
- Problemi deploy (GitHub Actions, SSH, servizi)
- Problemi sincronizzazione DB
- Problemi archivio NAS
- Errori comuni e quick fix
FAQ e Riferimenti
- Domande frequenti
- Comandi di riferimento rapido
- Link documentazione ufficiale
Highlights Principali
GitHub Actions
Deploy automatico ad ogni git push su branch main.
Test automatici e rollback facilitato.
Sync Bidirezionale
Sincronizza database devβprod con merge intelligente o full replace. Backup automatici prima di ogni sync.
Backup Cloud
Backup automatico giornaliero NAS β Google Drive con rclone. Recovery point-in-time disponibile.
Quick Reference
Comandi Deployment
# Deploy automatico
git push origin main
# Deploy manuale
./scripts/deploy.sh
# Rollback Git
ssh mygest-vps
cd /srv/mygest/app
git reset --hard <commit_id>
sudo systemctl restart mygest
Comandi Sincronizzazione
# Sync dev β prod (dry-run)
./scripts/sync_dev_to_prod.sh --dry-run
# Sync prod β dev
./scripts/sync_prod_to_dev.sh
# Rollback ultimo sync
./scripts/rollback_last_sync.sh
Comandi Backup NAS
# Backup manuale
rclone sync /mnt/nas_mygest/ gdrive_mygest:MyGest_Backup/ --progress
# Restore directory
rclone copy gdrive_mygest:MyGest_Backup/clienti/CLI042/ /tmp/restore/
# Verificare spazio
rclone about gdrive_mygest:
Supporto e Documentazione
Per problemi non coperti da questa guida:
-
Log applicazione:
sudo journalctl -u mygest -f -
Log Nginx:
sudo tail -f /var/log/nginx/error.log -
Log PostgreSQL:
sudo tail -f /var/log/postgresql/postgresql-14-main.log - Issue GitHub: https://github.com/sandro6917/mygest/issues