LeCoffre Node - Plateforme de Gestion de Documents Sécurisée
🚀 Démarrage Rapide
LeCoffre Node - Architecture complète avec Bitcoin Signet et agents IA
🎯 Démarrage Simple
# Démarrage complet des services
./scripts/start.sh
# Validation du déploiement
./scripts/validate-deployment.sh
# Maintenance et monitoring
./scripts/maintenance.sh
Note scripts centralisés: le répertoire
./scripts/delecoffre_nodeest un lien symbolique vers../../scripts/lecoffre_node. Les chemins existants restent valides.
📁 Documentation
scripts/README.md- Documentation complète des scripts4NK_env/IA_agents/context.md- Contexte et architecture du projet4NK_env/IA_agents/flux.md- Flux d'architecture et services4NK_env/IA_agents/deploy.md- Procédure de déploiement complète
🛡️ Protection des Données
- Sauvegarde automatique :
./scripts/backup-data.sh - Mise à jour sécurisée :
./scripts/update-images.sh - Restauration :
./scripts/restore-data.sh <backup>
🌐 Accès aux Services
| Service | URL | Description |
|---|---|---|
| LeCoffre Frontend | <PUBLIC_BASE_URL>/lecoffre |
Interface principale |
| IHM Client | <PUBLIC_BASE_URL>/ |
Interface de gestion des clés |
| API Backend | <PUBLIC_BASE_URL>/api/ |
API REST |
| WebSocket | wss://<PUBLIC_BASE_HOST>/ws/ |
Relay WebSocket |
🏗️ Architecture
Internet → Reverse proxy (public) → Services locaux
├── Frontend: LeCoffre Application
├── IHM: Interface de gestion des clés Bitcoin
├── API: Backend REST
└── WebSocket: Relay pour transactions
🐳 Services Docker
| Service | Port | Statut | Description |
|---|---|---|---|
lecoffre-front |
3004 | ✅ | Interface utilisateur |
ihm_client |
3003 | ✅ | Gestion des clés |
sdk_relay |
8090-8091 | ✅ | Relay WebSocket |
sdk_storage |
8081 | ✅ | Stockage temporaire |
bitcoin-signet |
- | ✅ | Nœud Bitcoin |
blindbit-oracle |
8000 | ✅ | Oracle Bitcoin |
tor-proxy |
9050 | ✅ | Proxy anonyme |
🚀 Déploiement Automatique
Le système utilise Watchtower pour la mise à jour automatique des images Docker toutes les 30 secondes.
Commandes Essentielles
# Démarrer tous les services
cd lecoffre_node
docker compose up -d
# Vérifier le statut
docker compose ps
# Voir les logs
docker compose logs --tail=50
# Synchroniser les configurations
./scripts/sync-configs.sh
# Démarrage séquentiel optimisé
./scripts/startup-sequence.sh
📊 Monitoring et Logs
Stack de Monitoring
Le système utilise Grafana + Loki + Promtail pour le monitoring centralisé :
# Démarrer le monitoring
./scripts/deploy-grafana.sh start
# Accéder à Grafana
<PUBLIC_BASE_URL>/grafana/
Identifiants : admin / <GRAFANA_ADMIN_PASSWORD>
Dashboards Disponibles
- Vue d'ensemble LeCoffre - Monitoring de tous les services
- Bitcoin & Miner - Monitoring spécialisé blockchain
- Services Applications - Monitoring des services applicatifs
Collecte des Logs
# Collecter les logs de tous les services
./scripts/collect-logs.sh
# Logs centralisés dans logs/
📖 Documentation complète du monitoring
🔧 Configuration
Variables d'Environnement
Les variables d'environnement sont centralisées dans .env :
# URLs des services externes (à définir selon l'environnement)
VITE_BOOTSTRAPURL=wss://<PUBLIC_BASE_HOST>/ws/
SIGNER_WS_URL=ws://<SIGNER_HOST>:9090
SIGNER_BASE_URL=https://<SIGNER_HOST>
# Configuration monitoring
GRAFANA_ADMIN_PASSWORD=<GRAFANA_ADMIN_PASSWORD>
Scripts Utiles
Tous les scripts sont dans scripts/ :
startup-sequence.sh- Démarrage séquentiel optimisésync-configs.sh- Synchronisation des configurationsbuild-project.sh- Construction des projetsfix_relay_funds.sh- Correction des fonds relaydeploy-grafana.sh- Déploiement du monitoring Grafanasetup-logs.sh- Configuration de la centralisation des logscollect-logs.sh- Collecte des logs de tous les servicessync-monitoring-config.sh- Synchronisation de la configuration monitoringtest-monitoring.sh- Test de connectivité du monitoring
📊 Monitoring
Healthchecks
Tous les services disposent de healthchecks automatiques :
# Vérifier Bitcoin Signet
docker exec bitcoin-signet bitcoin-cli -signet -rpccookiefile=/home/bitcoin/.bitcoin/signet/.cookie getblockchaininfo
# Vérifier l'oracle Blindbit
curl http://localhost:8000/tweaks/1
# Vérifier le relay
curl http://localhost:8091/
Logs
# Logs en temps réel
docker compose logs -f
# Logs d'un service spécifique
docker compose logs -f sdk_relay
🔒 Sécurité
- ✅ Aucun secret dans le code source
- ✅ Utilisateurs non-root dans les conteneurs
- ✅ Clés SSH pour tous les dépôts
- ✅ Variables d'environnement externalisées
- ✅ Réseau interne pour la communication inter-services
🛠️ Développement
Structure des Projets
lecoffre_node/
├── IA_agents/ # 📚 Documentation IA principale
├── scripts/ # 🔧 Scripts de déploiement
├── conf/ # ⚙️ Configurations
├── docs/ # 📖 Documentation technique
├── docker-compose.yml # 🐳 Services Docker
└── .env # 🔐 Variables d'environnement
Projets Dépendants
| Projet | Branche | Description |
|---|---|---|
sdk_relay |
ext |
Relay des transactions |
sdk_storage |
ext |
Stockage temporaire |
ihm_client |
ext |
Interface de gestion |
lecoffre-front |
ext |
Frontend LeCoffre |
📚 Documentation Complète
Documentation IA (Recommandée)
4NK_env/IA_agents/context.md- Contexte et objectifs4NK_env/IA_agents/flux.md- Architecture et flux4NK_env/IA_agents/deploy.md- Procédure de déploiement
Documentation Technique
docs/REX.md- Rapport d'expérience de déploiementdocs/ARCHITECTURE.md- Architecture détailléedocs/CONFIGURATION_SERVICES.md- Configuration des services
🆘 Support
Problèmes Courants
- Service non accessible : Vérifier
docker compose ps - Erreurs de connexion : Vérifier les logs avec
docker compose logs - Configuration : Exécuter
./scripts/sync-configs.sh
Logs d'Erreur
# Logs d'erreur récents
docker compose logs --tail=100 | grep -i error
# Logs d'un service spécifique
docker compose logs sdk_relay | grep -i error
🔄 Mise à Jour
Le système se met à jour automatiquement via Watchtower. Pour forcer une mise à jour :
# Mettre à jour toutes les images
docker compose pull
# Redémarrer les services
docker compose up -d
📄 Licence
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
💡 Conseil : Commencez toujours par lire 4NK_env/IA_agents/context.md pour comprendre le contexte du projet !
📋 Fichiers centralisés
Les fichiers suivants sont centralisés dans le dépôt principal 4NK_env :
CODE_OF_CONDUCT.md- Code de conduiteCODEOWNERS- Propriétaires du codeCONTRIBUTING.md- Guide de contributionLICENSE- Licence du projet
Voir : 4NK_env/CODE_OF_CONDUCT.md, 4NK_env/CODEOWNERS, 4NK_env/CONTRIBUTING.md, 4NK_env/LICENSE