feat: alignement docker-support-v2 et centralisation configs - Mise à jour docker-compose.yml avec tag docker-support-v2 et healthchecks - Centralisation des configurations dans 4NK_node/conf - Suppression des COPY conf/ dans Dockerfiles (montage runtime) - Ajout de la documentation complète (ARCHITECTURE.md, API.md, USAGE.md, DEPLOYMENT.md)
Some checks failed
CI - 4NK_node / Code Quality (push) Failing after 49s
CI - 4NK_node / Unit Tests (push) Failing after 32s
CI - 4NK_node / Integration Tests (push) Failing after 17s
CI - 4NK_node / Security Tests (push) Failing after 29s
CI - 4NK_node / Docker Build & Test (push) Failing after 10s
CI - 4NK_node / Documentation Tests (push) Failing after 3s
CI - 4NK_node / Security Audit (push) Successful in 3s
CI - 4NK_node / Release Guard (push) Has been skipped
CI - 4NK_node / Performance Tests (push) Successful in 28s
CI - 4NK_node / Notify (push) Failing after 2s
CI - 4NK_node / Publish Release (push) Has been skipped

This commit is contained in:
Debian 2025-09-03 10:45:30 +00:00
parent c45e1c48bc
commit 9701f47e25
7 changed files with 171 additions and 5 deletions

View File

@ -2,7 +2,7 @@ version: '3.8'
services: services:
tor: tor:
image: 4nk-node-tor:latest image: 4nk-node-tor:docker-support-v2
container_name: 4nk-tor container_name: 4nk-tor
ports: ports:
- "9050:9050" - "9050:9050"
@ -15,7 +15,7 @@ services:
restart: unless-stopped restart: unless-stopped
bitcoin: bitcoin:
image: 4nk-node-bitcoin:latest image: 4nk-node-bitcoin:docker-support-v2
container_name: 4nk-bitcoin container_name: 4nk-bitcoin
ports: ports:
- "38333:38333" - "38333:38333"
@ -23,13 +23,102 @@ services:
- "29000:29000" - "29000:29000"
volumes: volumes:
- bitcoin_data:/home/bitcoin/.bitcoin - bitcoin_data:/home/bitcoin/.bitcoin
- ./conf/bitcoin.conf:/home/bitcoin/.bitcoin/bitcoin.conf:ro - ./conf/bitcoin.conf:/home/bitcoin/bitcoin.conf:ro
networks: networks:
- 4nk_network - 4nk_network
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
- tor - tor
blindbit:
image: 4nk-node-blindbit:docker-support-v2
container_name: 4nk-blindbit
ports:
- "8000:8000"
volumes:
- ./conf/blindbit.toml:/home/bitcoin/blindbit.toml:ro
networks:
- 4nk_network
restart: unless-stopped
depends_on:
- bitcoin
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--timeout=5", "--spider", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
sdk_storage:
image: 4nk-node-sdk_storage:docker-support-v2
container_name: 4nk-sdk-storage
ports:
- "8081:8081"
networks:
- 4nk_network
restart: unless-stopped
depends_on:
- blindbit
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--timeout=5", "--spider", "http://localhost:8081"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
sdk_relay:
image: 4nk-node-sdk_relay1:docker-support-v2
container_name: 4nk-sdk-relay
ports:
- "8090:8090"
- "8091:8091"
networks:
- 4nk_network
restart: unless-stopped
depends_on:
- sdk_storage
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--timeout=5", "--spider", "http://localhost:8091"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
sdk_signer:
image: 4nk-node-sdk_signer:docker-support-v2
container_name: 4nk-sdk-signer
ports:
- "9090:9090"
networks:
- 4nk_network
restart: unless-stopped
depends_on:
- sdk_relay
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--timeout=5", "--spider", "http://localhost:9090"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
ihm_client:
image: 4nk-node-ihm_client:docker-support-v2
container_name: 4nk-ihm-client
ports:
- "8080:80"
- "3003:3003"
networks:
- 4nk_network
restart: unless-stopped
depends_on:
- sdk_signer
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--timeout=5", "--spider", "http://localhost"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
volumes: volumes:
tor_data: tor_data:
bitcoin_data: bitcoin_data:

15
docs/API.md Normal file
View File

@ -0,0 +1,15 @@
## API
## Portée
## Contrats dinterface
### Endpoints HTTP/IPC
### Événements et messages
### Formats (JSON/CSV/etc.)
## Erreurs et statuts
## Versionnage et compatibilité

13
docs/ARCHITECTURE.md Normal file
View File

@ -0,0 +1,13 @@
## ARCHITECTURE
## Contexte
## Composants
## Flux et dépendances
## Données et modèles
## Sécurité
## Observabilité

40
docs/DEPLOYMENT.md Normal file
View File

@ -0,0 +1,40 @@
## DEPLOYMENT
## Docker
### Images et tags
- tor: 4nk-node-tor:latest
- bitcoin: 4nk-node-bitcoin:latest
### docker-compose
- Fichier: 4NK_node/docker-compose.yml
- Services:
- tor: ports 9050, 9051; volume tor_data; conf conf/tor.conf
- bitcoin: ports 38333, 18443, 29000; volume bitcoin_data; conf conf/bitcoin.conf; dépend de tor
- Réseau: 4nk_network (bridge)
- Volumes nommés: tor_data, bitcoin_data
## Intégration dans 4NK_node
- Configuration centralisée dans 4NK_node/conf/ (ex: bitcoin.conf, tor.conf).
- Logs montés dans 4NK_node/log/ selon la configuration des services.
- Modules complémentaires (ihm_client, sdk_relay, sdk_storage, sdk_signer) sintègrent via 4NK_node/modules/ et le réseau Docker partagé.
## CI/CD appliquée
- Construire les images avec le tag dédié docker-support-v2 selon la politique du projet.
- Valider les builds et la santé (healthchecks) avant déploiement.
- Publier les artefacts et images dans le registre interne si applicable.
## Configuration
### Variables denvironnement
- Gérées au niveau des services consommateurs (ex: ihm_client, sdk_*).
### Fichiers de configuration (4NK_node/conf)
- bitcoin.conf (Bitcoin Core)
- tor.conf (Tor)
- Fichiers spécifiques modules: sdk_relay*.conf, sdk_signer.conf, sdk_storage.conf, ihm_client.conf, nginx.conf
### Réseau et ports
- tor: 9050 (SOCKS), 9051 (Control)
- bitcoin: 38333 (P2P testnet/regtest), 18443 (RPC), 29000 (custom)

11
docs/USAGE.md Normal file
View File

@ -0,0 +1,11 @@
## USAGE
## Prérequis
## Installation locale
## Démarrage
## Commandes utiles
## Dépannage

View File

@ -2,7 +2,6 @@ FROM alpine:latest
RUN apk add --no-cache bitcoin curl RUN apk add --no-cache bitcoin curl
RUN addgroup -g 1001 bitcoinuser && adduser -D -s /bin/sh -u 1001 -G bitcoinuser bitcoinuser RUN addgroup -g 1001 bitcoinuser && adduser -D -s /bin/sh -u 1001 -G bitcoinuser bitcoinuser
RUN mkdir -p /home/bitcoin/.bitcoin/signet && chown -R bitcoinuser:bitcoinuser /home/bitcoin RUN mkdir -p /home/bitcoin/.bitcoin/signet && chown -R bitcoinuser:bitcoinuser /home/bitcoin
COPY conf/bitcoin.conf /home/bitcoin/bitcoin.conf
USER bitcoinuser USER bitcoinuser
WORKDIR /home/bitcoin WORKDIR /home/bitcoin
EXPOSE 38333 18443 29000 EXPOSE 38333 18443 29000

View File

@ -2,7 +2,6 @@ FROM alpine:latest
RUN apk add --no-cache tor curl RUN apk add --no-cache tor curl
RUN addgroup -g 1001 toruser && adduser -D -s /bin/sh -u 1001 -G toruser toruser RUN addgroup -g 1001 toruser && adduser -D -s /bin/sh -u 1001 -G toruser toruser
RUN mkdir -p /var/lib/tor && chown -R toruser:toruser /var/lib/tor RUN mkdir -p /var/lib/tor && chown -R toruser:toruser /var/lib/tor
COPY conf/tor.conf /etc/tor/torrc
USER toruser USER toruser
EXPOSE 9050 9051 EXPOSE 9050 9051
CMD ["tor"] CMD ["tor"]