lecoffre_node/docs/ARCHITECTURE.md

78 lines
2.6 KiB
Markdown

# Architecture LeCoffre Node
## Vue d'ensemble
LeCoffre Node est un projet de configuration Docker Compose qui orchestre les services nécessaires pour l'application LeCoffre.
## Services
### Services Locaux (dev4.4nkweb.com)
- **sdk_relay** : Service de relais WebSocket (ports 8090-8091)
- **sdk_storage** : Service de stockage (port 8081)
- **bitcoin-signet** : Nœud Bitcoin Signet
- **blindbit-oracle** : Oracle blockchain (port 8000)
- **tor-proxy** : Proxy Tor
- **signet_miner** : Mineur Signet
- **watchtower** : Surveillance des conteneurs
### Services Distants
- **Signer** : dev3.4nkweb.com (port 9090 - actuellement indisponible)
- **LeCoffre Front** : https://dev4.4nkweb.com/lecoffre
- **IHM Client** : https://dev4.4nkweb.com
## Configuration des Connexions
### lecoffre-back
```yaml
environment:
- SIGNER_WS_URL=ws://dev3.4nkweb.com:9090
- RELAY_URLS=ws://sdk_relay:8090
- SIGNER_BASE_URL=https://dev3.4nkweb.com
```
### ihm_client
```yaml
environment:
- REACT_APP_RELAY_URL=ws://sdk_relay:8090
```
## Séquence de Démarrage
### Script Optimisé
Le script `scripts/startup-sequence.sh` utilise les healthchecks Docker Compose pour orchestrer le démarrage :
1. **Services de base** : tor, bitcoin, blindbit, sdk_storage
2. **sdk_relay** : Attend que blindbit soit healthy, puis démarre avec healthcheck
3. **ihm_client** : Attend que sdk_relay soit healthy
4. **lecoffre-back** : Attend que sdk_relay soit healthy
5. **lecoffre-front** : Attend que lecoffre-back soit healthy
### Healthchecks
Tous les services critiques ont des healthchecks configurés avec des `start_period` appropriés pour gérer les temps de démarrage.
## Problèmes Actuels
### dev3.4nkweb.com:9090
Le service signer sur dev3.4nkweb.com:9090 n'est pas accessible :
- Port 9090 : Connection refused
- Port 443 : Nginx fonctionne mais services backend retournent 502 Bad Gateway
### Impact
- lecoffre-back ne peut pas se connecter au signer distant
- ihm_client et lecoffre-front ne peuvent pas démarrer (dépendance)
## Solutions Temporaires
En attendant la résolution du problème dev3.4nkweb.com, les options sont :
1. Utiliser le signer local (sdk_signer)
2. Attendre que le service signer soit redémarré sur dev3.4nkweb.com
## Documentation Technique
- [Configuration des Services](CONFIGURATION_SERVICES.md)
- [Améliorations de Démarrage](STARTUP_IMPROVEMENTS.md)
## Historique
- 20/09/2025 : Implémentation des améliorations de séquence de démarrage
- 20/09/2025 : Résolution des problèmes de build CI
- 20/09/2025 : Documentation de l'architecture et des problèmes de connectivité