diff --git a/docker-compose.yml b/docker-compose.yml index 9455eb8c..107ea16b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.8' services: tor: - image: 4nk-node-tor:latest + image: 4nk-node-tor:docker-support-v2 container_name: 4nk-tor ports: - "9050:9050" @@ -15,7 +15,7 @@ services: restart: unless-stopped bitcoin: - image: 4nk-node-bitcoin:latest + image: 4nk-node-bitcoin:docker-support-v2 container_name: 4nk-bitcoin ports: - "38333:38333" @@ -23,13 +23,102 @@ services: - "29000:29000" volumes: - bitcoin_data:/home/bitcoin/.bitcoin - - ./conf/bitcoin.conf:/home/bitcoin/.bitcoin/bitcoin.conf:ro + - ./conf/bitcoin.conf:/home/bitcoin/bitcoin.conf:ro networks: - 4nk_network restart: unless-stopped depends_on: - 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: tor_data: bitcoin_data: diff --git a/docs/API.md b/docs/API.md new file mode 100644 index 00000000..b242c88a --- /dev/null +++ b/docs/API.md @@ -0,0 +1,15 @@ +## API + +## Portée + +## Contrats d’interface + +### Endpoints HTTP/IPC + +### Événements et messages + +### Formats (JSON/CSV/etc.) + +## Erreurs et statuts + +## Versionnage et compatibilité diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md new file mode 100644 index 00000000..2bea3bf4 --- /dev/null +++ b/docs/ARCHITECTURE.md @@ -0,0 +1,13 @@ +## ARCHITECTURE + +## Contexte + +## Composants + +## Flux et dépendances + +## Données et modèles + +## Sécurité + +## Observabilité diff --git a/docs/DEPLOYMENT.md b/docs/DEPLOYMENT.md new file mode 100644 index 00000000..91c199fe --- /dev/null +++ b/docs/DEPLOYMENT.md @@ -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) s’intè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 d’environnement +- 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) + diff --git a/docs/USAGE.md b/docs/USAGE.md new file mode 100644 index 00000000..cd6c4da3 --- /dev/null +++ b/docs/USAGE.md @@ -0,0 +1,11 @@ +## USAGE + +## Prérequis + +## Installation locale + +## Démarrage + +## Commandes utiles + +## Dépannage diff --git a/modules/bitcoin/Dockerfile b/modules/bitcoin/Dockerfile index 7d64dbec..06098f86 100644 --- a/modules/bitcoin/Dockerfile +++ b/modules/bitcoin/Dockerfile @@ -2,7 +2,6 @@ FROM alpine:latest RUN apk add --no-cache bitcoin curl 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 -COPY conf/bitcoin.conf /home/bitcoin/bitcoin.conf USER bitcoinuser WORKDIR /home/bitcoin EXPOSE 38333 18443 29000 diff --git a/modules/tor/Dockerfile b/modules/tor/Dockerfile index 0740d12e..1febe481 100644 --- a/modules/tor/Dockerfile +++ b/modules/tor/Dockerfile @@ -2,7 +2,6 @@ FROM alpine:latest RUN apk add --no-cache tor curl 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 -COPY conf/tor.conf /etc/tor/torrc USER toruser EXPOSE 9050 9051 CMD ["tor"]