Script de démarrage automatique avec sauvegarde
./start_simple.shCe que fait ce script :
- Sauvegarde automatique de toutes les BDD existantes
- Arrêt propre des processus existants
- Démarrage avec configuration de persistance si disponible
- Fallback vers Docker si nécessaire
- Aucune interaction utilisateur requise
Script original avec sauvegarde ajoutée
./start_hermes.shCe que fait ce script :
- Sauvegarde automatique des BDD existantes
- Pull du code depuis Git
- Demande si vous voulez utiliser la persistance
- Utilise Docker par défaut
Démarrage direct avec persistance
ruby start_with_persistence.rbCe que fait ce script :
- Démarrage direct avec Puma
- Configuration de persistance complète
- Pas de sauvegarde automatique
Tous les scripts de démarrage sauvegardent automatiquement :
chat_app.dbstorm.dbchat.dbusers.dbstorm_persistent.db- Fichiers WAL et SHM associés
Emplacement des sauvegardes :
data/backups/YYYYMMDD_HHMMSS/
├── backup_info.txt
├── chat_app.db
├── storm_persistent.db
└── ...
-
Pull du code depuis le VPS
git pull origin main
-
Démarrage automatique avec sauvegarde
./start_simple.sh
-
Vérification
- Serveur accessible sur
http://localhost:3631 - BDD sauvegardées dans
data/backups/ - Nouvelle BDD persistante créée si nécessaire
- Serveur accessible sur
# Tester la persistance
ruby test_persistence.rb
# Voir les statistiques
ruby test_persistence.rb stats
# Nettoyer les données de test
ruby test_persistence.rb cleanupchmod +x start_simple.sh
chmod +x start_hermes.sh# Arrêter tous les processus
pkill -f "ruby"
pkill -f "puma"
docker rm -f hermes_container# Vérifier les processus utilisant la BDD
lsof data/storm_persistent.dbSi vous rencontrez l'erreur Could not find 'bundler' (1.17.2) :
# Exécuter le script de correction automatique
./fix_vps_bundler.sh# Installer la version spécifique de bundler
gem install bundler:1.17.2
# Ou mettre à jour vers la dernière version
bundle update --bundler
# Réinstaller les gems
bundle install --retry=3# Supprimer les fichiers de cache
rm -rf .bundle/
rm -f Gemfile.lock
# Réinstaller bundler et les gems
gem install bundler:1.17.2
bundle install# Vérifier les processus Ruby en cours
ps aux | grep ruby
# Vérifier les ports utilisés
lsof -i :3631
# Vérifier bundler
bundle --version
bundle check- Sauvegarde automatique : Toujours effectuée avant le démarrage
- Persistance : Données conservées entre les redémarrages
- Performance : Configuration SQLite optimisée (WAL mode)
- Sécurité : Pool de connexions avec gestion des erreurs
Pour un usage quotidien après pull VPS :
./start_simple.shC'est tout ! Le script s'occupe de tout automatiquement.