74 lines
3.0 KiB
Markdown
74 lines
3.0 KiB
Markdown
## 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`).
|
||
|
||
|
||
|