## Analyse détaillée ### Périmètre Analyse du nœud d’orchestration `lecoffre_node` et de son `docker-compose.yml` (services, images, ports, volumes, dépendances inter‑services). ### Stack et orchestration - **Compose**: `version: "3.9"` - **Services**: `tor`, `bitcoin`, `blindbit`, `sdk_relay`, `lecoffre-back` (ext), `lecoffre-front` (ext), `ihm_client` (ext), `sdk_signer`, `sdk_storage`, `watchtower`. - **Réseau**: bridge `4nk_node_btcnet` (subnet 172.20.0.0/16). - **Volumes**: - `4nk_node_bitcoin_data` → `/home/bitcoin/.bitcoin` - `blindbit_data` → `/root/.blindbit-oracle` - `sdk_data` → `/home/bitcoin/.4nk` ### Ordre de démarrage et dépendances - `tor` → `bitcoin` (healthcheck) → `blindbit` (healthcheck) → `sdk_relay` (healthcheck) - Services applicatifs (`lecoffre-back`, `lecoffre-front`, `ihm_client`) démarrent ensuite. - `sdk_signer` et `sdk_storage` sont indépendants du pipeline Bitcoin/Blindbit. ### Images et tags - `tor`: `btcpayserver/tor:0.4.8.10` - `bitcoin`: `git.4nkweb.com/4nk/bitcoin:latest` - `blindbit`: `git.4nkweb.com/4nk/blindbit-oracle:dev` - `sdk_relay`: `git.4nkweb.com/4nk/sdk_relay:dev` - `lecoffre-back`: `git.4nkweb.com/4nk/lecoffre-back-mini:ext` - `lecoffre-front`: `git.4nkweb.com/4nk/lecoffre-front:ext` - `ihm_client`: `git.4nkweb.com/4nk/ihm_client:ext` - `sdk_signer`: `git.4nkweb.com/4nk/sdk_signer:latest` - `sdk_storage`: `git.4nkweb.com/4nk/sdk_storage:latest` - `watchtower`: `containrrr/watchtower` ### Ports exposés (localhost) - `blindbit`: 8000 - `sdk_relay`: 8090 - `lecoffre-back`: 8080 - `lecoffre-front`: 3004→3000 (127.0.0.2) - `ihm_client`: 3003 - `sdk_signer`: 3001 - `sdk_storage`: 8081 ### Configuration et logs - `bitcoin`: monte `./bitcoin/bitcoin.conf` en lecture seule. - `blindbit`: copie `./blindbit/blindbit.toml` vers `$HOME/.blindbit-oracle/blindbit.toml`. - `sdk_relay`: `./relay/sdk_relay.conf` monté en lecture seule; sortie multiplexée vers `/home/bitcoin/.4nk/logs/sdk_relay.log`. ### Healthchecks - `bitcoin`: `bitcoin-cli getblockchaininfo` - `blindbit`: sondage HTTP `GET /tweaks/1` - `sdk_relay`: `GET /health` ### Risques et incohérences relevés - Tags d’images hétérogènes (`latest`, `dev`, `ext`). Préférer une convention unique et traçable. - Contrainte interne: usage recommandé du tag `docker-support-v2` au lieu de `latest`. Harmonisation à planifier. - `sdk_signer` listé alors qu’il n’est pas utilisé sur la machine. Éviter son démarrage par défaut pour réduire l’empreinte. - Exposition multi‑IP (`127.0.0.2` pour `lecoffre-front`). Vérifier la résolution locale et la compatibilité outillage. ### Actions proposées - Normaliser les tags d’images (`dev-test` pour branches de test; `docker-support-v2` pour releases) et documenter la politique. - Paramétrer le démarrage conditionnel de `sdk_signer` (profil/override compose). - Centraliser les variables d’environnement communes dans `.env` et documenter leurs valeurs attendues. - Aligner la rotation des logs et vérifier la capacité des volumes (`sdk_data`, `bitcoin_data`).