📋 Commit iniziale con: - ✅ Documentazione unificata in docs/ - ✅ Codice Laravel in netgescon-laravel/ - ✅ Script automazione in scripts/ - ✅ Configurazione sync rsync - ✅ Struttura organizzata e pulita 🔄 Versione: 2025.07.19-1644 🎯 Sistema pronto per Git distribuito
251 lines
7.0 KiB
Plaintext
251 lines
7.0 KiB
Plaintext
# NetGescon Auto-Sync Configuration
|
|
# Configurazione per la sincronizzazione automatica tra WSL/Windows e server remoto
|
|
# Versione: 2.0
|
|
# Data: 2025-01-17
|
|
|
|
# =============================================================================
|
|
# CONFIGURAZIONE PERCORSI
|
|
# =============================================================================
|
|
|
|
# Percorso locale del progetto Laravel
|
|
LOCAL_PATH="U:\home\michele\netgescon\netgescon-laravel"
|
|
|
|
# Configurazione server remoto
|
|
REMOTE_HOST="192.168.0.43"
|
|
REMOTE_USER="michele"
|
|
REMOTE_PATH="/var/www/netgescon"
|
|
|
|
# Percorsi di backup e log
|
|
BACKUP_DIR="U:\home\michele\netgescon\backup\sync"
|
|
LOG_FILE="U:\home\michele\netgescon\log\auto-sync.log"
|
|
|
|
# =============================================================================
|
|
# CONFIGURAZIONE SICUREZZA SSH
|
|
# =============================================================================
|
|
|
|
# File chiave SSH (se diverso da default)
|
|
SSH_KEY_FILE=""
|
|
|
|
# Timeout connessione SSH (secondi)
|
|
SSH_TIMEOUT=10
|
|
|
|
# Porta SSH (se diversa da 22)
|
|
SSH_PORT=22
|
|
|
|
# =============================================================================
|
|
# CONFIGURAZIONE SINCRONIZZAZIONE
|
|
# =============================================================================
|
|
|
|
# Pattern di esclusione per rsync (uno per riga)
|
|
EXCLUDE_PATTERNS=(
|
|
"node_modules/"
|
|
"vendor/"
|
|
"storage/logs/"
|
|
"storage/framework/cache/"
|
|
"storage/framework/sessions/"
|
|
"storage/framework/views/"
|
|
".git/"
|
|
"*.log"
|
|
".env.local"
|
|
".env.backup"
|
|
".vscode/"
|
|
"*.tmp"
|
|
"*.temp"
|
|
".DS_Store"
|
|
"Thumbs.db"
|
|
"__pycache__/"
|
|
"*.pyc"
|
|
".pytest_cache/"
|
|
"coverage/"
|
|
".coverage"
|
|
".nyc_output/"
|
|
"dist/"
|
|
"build/"
|
|
".next/"
|
|
".nuxt/"
|
|
".svelte-kit/"
|
|
)
|
|
|
|
# Opzioni rsync aggiuntive
|
|
RSYNC_OPTIONS=(
|
|
"--compress"
|
|
"--archive"
|
|
"--verbose"
|
|
"--human-readable"
|
|
"--progress"
|
|
"--stats"
|
|
"--delete"
|
|
"--delete-excluded"
|
|
)
|
|
|
|
# =============================================================================
|
|
# CONFIGURAZIONE DEPLOY
|
|
# =============================================================================
|
|
|
|
# Comandi da eseguire durante il deploy remoto
|
|
DEPLOY_COMMANDS=(
|
|
"cd $REMOTE_PATH"
|
|
"sudo chown -R www-data:www-data ."
|
|
"sudo chmod -R 755 ."
|
|
"sudo chmod -R 777 storage/"
|
|
"sudo chmod -R 777 bootstrap/cache/"
|
|
"composer install --no-dev --optimize-autoloader --no-interaction"
|
|
"php artisan config:cache"
|
|
"php artisan route:cache"
|
|
"php artisan view:cache"
|
|
"php artisan storage:link"
|
|
)
|
|
|
|
# Comandi per riavvio servizi (se AUTO_RESTART=true)
|
|
RESTART_COMMANDS=(
|
|
"sudo systemctl restart nginx"
|
|
"sudo systemctl restart php8.3-fpm"
|
|
"sudo systemctl restart mysql"
|
|
)
|
|
|
|
# =============================================================================
|
|
# CONFIGURAZIONE BACKUP
|
|
# =============================================================================
|
|
|
|
# Numero massimo di backup da mantenere
|
|
MAX_BACKUPS=10
|
|
|
|
# Compressione backup (true/false)
|
|
COMPRESS_BACKUP=true
|
|
|
|
# Estensione file backup compressi
|
|
BACKUP_EXTENSION=".tar.gz"
|
|
|
|
# =============================================================================
|
|
# CONFIGURAZIONE NOTIFICHE
|
|
# =============================================================================
|
|
|
|
# Abilita notifiche email (true/false)
|
|
EMAIL_NOTIFICATIONS=false
|
|
|
|
# Configurazione email (se abilitata)
|
|
EMAIL_FROM="netgescon@example.com"
|
|
EMAIL_TO="admin@example.com"
|
|
EMAIL_SUBJECT="NetGescon Auto-Sync Report"
|
|
|
|
# Abilita notifiche Slack (true/false)
|
|
SLACK_NOTIFICATIONS=false
|
|
|
|
# URL webhook Slack (se abilitato)
|
|
SLACK_WEBHOOK_URL=""
|
|
|
|
# =============================================================================
|
|
# CONFIGURAZIONE MONITORAGGIO
|
|
# =============================================================================
|
|
|
|
# Abilita monitoraggio performance (true/false)
|
|
PERFORMANCE_MONITORING=true
|
|
|
|
# Soglia di allerta per tempo di sincronizzazione (secondi)
|
|
SYNC_TIME_THRESHOLD=300
|
|
|
|
# Soglia di allerta per dimensione transfer (MB)
|
|
TRANSFER_SIZE_THRESHOLD=100
|
|
|
|
# =============================================================================
|
|
# CONFIGURAZIONE AVANZATA
|
|
# =============================================================================
|
|
|
|
# Modalità debug (true/false)
|
|
DEBUG_MODE=false
|
|
|
|
# Timeout per operazioni lunghe (secondi)
|
|
OPERATION_TIMEOUT=1800
|
|
|
|
# Retry automatico in caso di fallimento
|
|
AUTO_RETRY=true
|
|
|
|
# Numero massimo di retry
|
|
MAX_RETRY_ATTEMPTS=3
|
|
|
|
# Delay tra retry (secondi)
|
|
RETRY_DELAY=30
|
|
|
|
# =============================================================================
|
|
# CONFIGURAZIONE ENVIRONMENT-SPECIFIC
|
|
# =============================================================================
|
|
|
|
# Configurazioni specifiche per ambiente di sviluppo
|
|
DEV_CONFIG=(
|
|
"APP_ENV=local"
|
|
"APP_DEBUG=true"
|
|
"LOG_LEVEL=debug"
|
|
)
|
|
|
|
# Configurazioni specifiche per ambiente di produzione
|
|
PROD_CONFIG=(
|
|
"APP_ENV=production"
|
|
"APP_DEBUG=false"
|
|
"LOG_LEVEL=error"
|
|
)
|
|
|
|
# =============================================================================
|
|
# CONFIGURAZIONE HOOKS
|
|
# =============================================================================
|
|
|
|
# Comandi da eseguire prima della sincronizzazione
|
|
PRE_SYNC_HOOKS=(
|
|
# "php artisan down"
|
|
# "php artisan queue:restart"
|
|
)
|
|
|
|
# Comandi da eseguire dopo la sincronizzazione
|
|
POST_SYNC_HOOKS=(
|
|
# "php artisan up"
|
|
# "php artisan optimize"
|
|
)
|
|
|
|
# Comandi da eseguire prima del deploy
|
|
PRE_DEPLOY_HOOKS=(
|
|
# "php artisan config:clear"
|
|
# "php artisan cache:clear"
|
|
)
|
|
|
|
# Comandi da eseguire dopo il deploy
|
|
POST_DEPLOY_HOOKS=(
|
|
# "php artisan migrate --force"
|
|
# "php artisan db:seed --force"
|
|
)
|
|
|
|
# =============================================================================
|
|
# CONFIGURAZIONE VALIDAZIONE
|
|
# =============================================================================
|
|
|
|
# Comandi per validare il deploy
|
|
VALIDATION_COMMANDS=(
|
|
"php artisan --version"
|
|
"php artisan migrate:status"
|
|
"php artisan route:list --compact"
|
|
"curl -s -o /dev/null -w \"%{http_code}\" http://localhost"
|
|
)
|
|
|
|
# Soglia di successo per validazione HTTP
|
|
HTTP_SUCCESS_THRESHOLD=200
|
|
|
|
# =============================================================================
|
|
# CONFIGURAZIONE ROLLBACK
|
|
# =============================================================================
|
|
|
|
# Abilita rollback automatico in caso di errore
|
|
AUTO_ROLLBACK=true
|
|
|
|
# Comandi per rollback
|
|
ROLLBACK_COMMANDS=(
|
|
"cd $REMOTE_PATH"
|
|
"php artisan migrate:rollback"
|
|
"php artisan config:clear"
|
|
"php artisan cache:clear"
|
|
)
|
|
|
|
# =============================================================================
|
|
# FINE CONFIGURAZIONE
|
|
# =============================================================================
|
|
|
|
# Nota: Questo file può essere personalizzato per ambienti specifici
|
|
# Creare copie come config-dev.conf, config-prod.conf, etc.
|