netgescon-master/netgescon-scripts/config/sync-config.conf
Pikappa2 480e7eafbd 🎯 NETGESCON - Setup iniziale repository completo
📋 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
2025-07-19 16:44:47 +02:00

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.