Files
noteflow/DEPLOY-NOW.md
Claude b512153ff1 Docs: Guide de déploiement PostgreSQL
DEPLOY-NOW.md: Guide complet de déploiement en 3 commandes

Contenu:
- 🎯 Commandes de déploiement (build + up)
- 📋 Ce qui va se passer au démarrage
- 🔍 Vérifications post-migration
- ✅ Checklist complète
- 🆘 Dépannage si problème
- 📊 Création de backups PostgreSQL
- ✨ Avantages de PostgreSQL

L'utilisateur peut maintenant déployer en 1 ligne:
  docker-compose build && docker-compose up -d

La migration SQLite → PostgreSQL se fait automatiquement
au premier démarrage si data/notes.db existe.
2025-11-14 09:59:17 +00:00

7.1 KiB

🚀 DÉPLOIEMENT IMMÉDIAT - PostgreSQL Uniquement

✅ Ce qui a été fait

NoteFlow a été complètement migré vers PostgreSQL. Plus besoin de SQLite.

Changements appliqués:

  1. ✅ Base de données: PostgreSQL uniquement (config/database.js)
  2. ✅ Migration automatique: Au démarrage si SQLite détecté
  3. ✅ Toutes les routes: Mises à jour pour PostgreSQL
  4. ✅ Docker-entrypoint: Attend PostgreSQL et migre automatiquement
  5. ✅ Documentation: Guide complet créé (POSTGRESQL-ONLY.md)

🎯 DÉPLOIEMENT EN 3 COMMANDES

# 1. Reconstruire l'image avec PostgreSQL uniquement
docker-compose build

# 2. Démarrer les containers
docker-compose up -d

# 3. Suivre les logs pour voir la migration
docker-compose logs -f notes-app

C'est tout! 🎉


📋 Ce qui va se passer

Au démarrage du container:

🚀 Démarrage de NoteFlow avec PostgreSQL
========================================

⏳ Attente de PostgreSQL...
✅ PostgreSQL est prêt

🔍 Vérification des données...
⚠️  PostgreSQL est vide

📦 Base SQLite détectée: /app/data-sqlite/notes.db
🔄 Lancement de la migration automatique...

==================== MIGRATION SQLite → PostgreSQL ====================

📋 Migration table: users
  ✓ Table "users": 1/1 lignes migrées
📋 Migration table: notes
  ✓ Table "notes": X/X lignes migrées
📋 Migration table: global_todos
  ✓ Table "global_todos": X/X lignes migrées
📋 Migration table: rss_feeds
  ✓ Table "rss_feeds": X/X lignes migrées
📋 Migration table: rss_articles
  ✓ Table "rss_articles": X/X lignes migrées
...

========================================================
✅ Migration terminée!
Total: XXX lignes migrées
========================================================

✅ Migration réussie!

========================================
🚀 Démarrage du serveur NoteFlow...

Base de données connectée: postgresql://noteflow:***@postgres:5499/noteflow
✓ Tables de base de données créées avec succès
...

Durée estimée: 30 secondes à 2 minutes selon la quantité de données


🔍 Vérification après déploiement

1. Vérifier que l'application est accessible

curl http://localhost:2222/health

Attendu: {"status":"ok","timestamp":"...","uptime":...}

2. Vérifier les données dans PostgreSQL

docker exec noteflow-postgres psql -U noteflow -d noteflow -p 5499 -c "
  SELECT 'notes' as table_name, COUNT(*) as count FROM notes
  UNION ALL
  SELECT 'rss_articles', COUNT(*) FROM rss_articles
  UNION ALL
  SELECT 'global_todos', COUNT(*) FROM global_todos;
"

3. Connexion à l'interface web

Ouvrez: http://localhost:2222

Connectez-vous avec: admin / admin

⚠️ IMPORTANT: Changez immédiatement le mot de passe admin!


📊 Vérifications complètes

✅ Checklist post-migration:

  • Application accessible sur http://localhost:2222
  • Connexion avec admin/admin fonctionne
  • Notes affichées (vérifier le nombre)
  • Tâches visibles dans la sidebar
  • Flux RSS configurés (Admin > Flux RSS)
  • Articles RSS affichés
  • Calendrier fonctionne (si configuré)
  • Paramètres présents (Admin > Paramètres)

✅ Vérification technique:

# Nombre de tables PostgreSQL
docker exec noteflow-postgres psql -U noteflow -d noteflow -p 5499 -c "
  SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'public';
"
# Attendu: 13 tables

# Taille de la base
docker exec noteflow-postgres psql -U noteflow -d noteflow -p 5499 -c "
  SELECT pg_size_pretty(pg_database_size('noteflow'));
"

🎉 Après la migration réussie

Votre ancienne base SQLite

Elle est conservée automatiquement dans ./data/notes.db

Ne la supprimez PAS tant que vous n'avez pas:

  1. ✅ Vérifié que tout fonctionne avec PostgreSQL
  2. ✅ Utilisé l'application pendant quelques jours
  3. ✅ Fait un backup PostgreSQL

Créer un backup PostgreSQL

# Backup complet
docker exec noteflow-postgres pg_dump -U noteflow -d noteflow -p 5499 > backup-noteflow-$(date +%Y%m%d).sql

# Backup compressé
docker exec noteflow-postgres pg_dump -U noteflow -d noteflow -p 5499 | gzip > backup-noteflow-$(date +%Y%m%d).sql.gz

Programmer des backups automatiques

Ajoutez à votre crontab:

# Backup quotidien à 3h du matin
0 3 * * * cd /chemin/vers/noteflow && docker exec noteflow-postgres pg_dump -U noteflow -d noteflow -p 5499 | gzip > backups/noteflow-$(date +\%Y\%m\%d).sql.gz && find backups/ -name "noteflow-*.sql.gz" -mtime +30 -delete

🆘 En cas de problème

PostgreSQL ne démarre pas

# Voir les logs PostgreSQL
docker-compose logs postgres

# Vérifier le container
docker-compose ps postgres

# Redémarrer PostgreSQL seul
docker-compose restart postgres

Migration échoue

# Voir les logs détaillés
docker-compose logs notes-app | grep -A 50 "migration"

# Relancer la migration manuellement
docker exec -e SQLITE_PATH=/app/data-sqlite/notes.db \
  notes-todo-app node scripts/migrate-sqlite-to-postgres.js

Application ne démarre pas

# Voir les logs complets
docker-compose logs notes-app

# Vérifier les variables d'environnement
docker exec notes-todo-app env | grep DATABASE

# Rebuild complet
docker-compose down
docker-compose build --no-cache
docker-compose up -d

Données manquantes après migration

Vos données SQLite sont toujours là! ./data/notes.db

Pour revenir temporairement à SQLite (debug):

# 1. Arrêter les containers
docker-compose down

# 2. Modifier temporairement config/database.js
cp config/database-sqlite-backup.js config/database.js

# 3. Rebuild et restart
docker-compose build notes-app
docker-compose up -d

Puis re-migrez proprement une fois le problème identifié.


📚 Documentation complète

  • POSTGRESQL-ONLY.md - Guide complet PostgreSQL
  • MIGRATION-STEPS.md - Détails techniques migration
  • RECUPERATION-DONNEES.md - En cas de perte apparente de données

🎯 Résumé en 1 ligne

docker-compose build && docker-compose up -d && docker-compose logs -f notes-app

Attendez que la migration se termine, puis accédez à http://localhost:2222 🚀


Date: 2025-11-14 Commit: 6b5f408 - BREAKING: Migration complète vers PostgreSQL uniquement Branch: claude/update-rss-feeds-011CV6EZDsWAUqbRHZR1117Q


✨ Avantages de PostgreSQL

Vous bénéficiez maintenant de:

  • ✅ Performance: Meilleure gestion des requêtes complexes
  • ✅ Concurrence: Support multi-utilisateurs optimisé
  • ✅ Fiabilité: Transactions ACID complètes
  • ✅ Évolutivité: Prêt pour la production
  • ✅ Fonctionnalités: Full-text search, JSON, etc.
  • ✅ Monitoring: Outils PostgreSQL standard
  • ✅ Backup: Solutions professionnelles disponibles

Bienvenue dans le monde PostgreSQL! 🐘