4.1 KiB
4.1 KiB
Objet
Analyse synthétique de l’orchestrateur lecoffre_node
(Docker Compose + Nginx locaux).
Services et ordre de démarrage
- tor → bitcoin → blindbit → sdk_relay → sdk_signer/sdk_storage → ihm_client → lecoffre-back → lecoffre-front
Détails par service (extraits)
- bitcoin: image
git.4nkweb.com/4nk/bitcoin:latest
, volume4nk_node_bitcoin_data
, healthcheckgetblockchaininfo
- blindbit: oracle, ports
127.0.0.1:8000
, healthcheck HTTP, dépend debitcoin
- sdk_relay: ports
127.0.0.1:8090
, logs vers/home/bitcoin/.4nk/logs/sdk_relay.log
, healthcheck/health
- lecoffre-back: image
git.4nkweb.com/4nk/lecoffre-back-mini:ext
, ports127.0.0.1:8080
- lecoffre-front: image
git.4nkweb.com/4nk/lecoffre-front:ext
, ports127.0.0.2:3004:3000
- sdk_signer: ports
127.0.0.1:3001
- sdk_storage: ports
127.0.0.1:8081
- watchtower: mise à jour images via labels
Réseau et volumes
- Réseau:
btcnet
(bridge) avec IPAM172.20.0.0/16
- Volumes:
4nk_node_bitcoin_data
,blindbit_data
,sdk_data
Nginx local
- Conf:
conf/nginx/*
(vhosts locaux et dev4) pour proxy et basePath/lecoffre
Points d’attention
- Tags d’images: homogénéiser (
latest
,dev
,ext
) selon politique CI - Exposition locale: vérif des binds
127.0.0.1
vs127.0.0.2
- Watchtower: intervalle 30s, labels présents sur services applicatifs
Topologie Docker Compose (détails)
- tor:
btcpayserver/tor:0.4.8.10
(aliastor
surbtcnet
) - bitcoin:
git.4nkweb.com/4nk/bitcoin:latest
, volume4nk_node_bitcoin_data
, healthcheckbitcoin-cli getblockchaininfo
- blindbit:
git.4nkweb.com/4nk/blindbit-oracle:dev
, ports127.0.0.1:8000:8000
, healthcheck HTTP, dépend debitcoin
- sdk_relay:
git.4nkweb.com/4nk/sdk_relay:dev
, ports127.0.0.1:8090:8090
, logs dans/home/bitcoin/.4nk/logs/sdk_relay.log
, healthcheck/health
- sdk_signer:
git.4nkweb.com/4nk/sdk_signer:latest
, ports127.0.0.1:3001:3001
- sdk_storage:
git.4nkweb.com/4nk/sdk_storage:latest
, ports127.0.0.1:8081:8081
- lecoffre-back:
git.4nkweb.com/4nk/lecoffre-back-mini:ext
, ports127.0.0.1:8080:8080
- lecoffre-front:
git.4nkweb.com/4nk/lecoffre-front:ext
, ports127.0.0.2:3004:3000
- ihm_client:
git.4nkweb.com/4nk/ihm_client:ext
, ports127.0.0.1:3003:3003
- watchtower:
containrrr/watchtower
,--interval 30 --label-enable
Réseau et volumes
- Réseau:
btcnet
(bridge) IPAM172.20.0.0/16
, alias par service (bitcoin, blindbit, sdk_relay, etc.) - Volumes:
4nk_node_bitcoin_data
,blindbit_data
,sdk_data
Nginx dev4.4nkweb.com (résumé configuration)
/api/
→http://127.0.0.1:8080/api/
avec CORS dynamique (origines autorisées:http://local.4nkweb.com:3000
,https://dev4.4nkweb.com
)/back/(.*)
→http://127.0.0.1:8080/api/$1
/apiv1/(.*)
→ réécrit vers/api/v1/$1
/
→http://127.0.0.1:3003
(ihm_client)/lecoffre
et/lecoffre/
→http://127.0.0.2:3004/lecoffre/
(basePath Next.js)/_next/
→http://127.0.0.2:3004/_next/
/blindbit/
→http://127.0.0.1:8000/
/signer/
(WebSocket) →http://127.0.0.1:3001/
avecUpgrade/Connection
adaptés
Ordre de démarrage recommandé
- Recommandé:
tor
→bitcoin
→blindbit
→sdk_storage
→sdk_relay
→sdk_signer
→ihm_client
→lecoffre-back
→lecoffre-front
- Écart observé: Compose démarre
sdk_relay
avantsdk_storage
. À harmoniser si dépendances runtime avérées.
Variables .env clefs (rappels)
- Front:
NEXT_PUBLIC_*
(host/port/API/basePath/Idnot/Docaposte/4NK) - Back:
PORT
,DEFAULT_STORAGE
,APP_HOST
,STRIPE_*
,IDNOT_*
,CORS_ALLOWED_ORIGINS
Risques et recommandations
- Uniformiser les tags d’images (
docker-support-v2
si applicable) et éviterlatest
en prod - Vérifier l’alignement
basePath
Next/lecoffre
↔ proxys Nginx (routes et assets) - Geler les origines CORS en prod et journaliser les refus
- Surveiller la santé
blindbit
etsdk_relay
(healthchecks ↔ restart policy)