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.

Versione HTML

Consultazione online con navigazione facilitata, ideale per seguire le procedure step-by-step da browser.

Apri Guida HTML
Versione 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