8.0 KiB
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_node
est 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