7.6 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 | https://dev4.4nkweb.com/lecoffre | Interface principale |
IHM Client | https://dev4.4nkweb.com/ | Interface de gestion des clés |
API Backend | https://dev4.4nkweb.com/api/ | API REST |
WebSocket | wss://dev4.4nkweb.com/ws/ |
Relay WebSocket |
🏗️ Architecture
Internet → dev4.4nkweb.com (Nginx) → 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
https://dev4.4nkweb.com/grafana/
Identifiants : admin
/ admin123
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
VITE_BOOTSTRAPURL=wss://dev4.4nkweb.com/ws/
SIGNER_WS_URL=ws://dev3.4nkweb.com:9090
SIGNER_BASE_URL=https://dev3.4nkweb.com
# Configuration monitoring
GRAFANA_ADMIN_PASSWORD=admin123
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 !