4NK_dev/docs/modules.md
Debian fa87597d15 docs: Mise à jour complète de la documentation
- Ajout du README.md principal avec architecture et guide d'utilisation
- Mise à jour de docs/modules.md avec les nouveaux scripts de gestion
- Documentation de la migration WASM et de l'état actuel des projets
- Guides d'installation et de développement pour tous les composants
2025-08-29 15:44:48 +00:00

3.5 KiB

Modules Docker (4NK_dev)

4NK_node

Infrastructure Docker complète pour l'écosystème 4NK avec Bitcoin, Tor, et services 4NK.

Services inclus

  • bitcoin-signet : Nœud Bitcoin testnet
  • tor-proxy : Proxy Tor pour l'anonymat
  • blindbit-oracle : Oracle pour les transactions confidentielles
  • sdk-storage : Service de stockage distribué
  • sdk_relay_1/2/3 : Services de relais P2P
  • 4nk-ihm-client : Interface utilisateur web
  • 4nk-reverse-proxy : Proxy inverse pour les services

Scripts de gestion

  • 4NK_node/scripts/manage_services.sh : Script principal de gestion
    • start : Démarre tous les services
    • stop : Arrête tous les services
    • clean : Nettoie conteneurs, images, volumes
    • restart : Redémarre tous les services
    • status : Affiche le statut des services
    • logs : Affiche les logs des services

Scripts legacy (modules/)

  • modules/4NK_node/build.sh : construit les services avec docker compose build
  • modules/4NK_node/up.sh : démarre les services en détaché
  • modules/4NK_node/down.sh : arrête et nettoie les services
  • modules/4NK_node/logs.sh : affiche les logs (suivi)
  • modules/4NK_node/clean.sh : down -v + prune d'images

Version/tag

Lit 4NK_node/VERSION si présent, sinon utilise git describe pour définir COMPOSE_PROJECT_NAME.

4NK_template

Template Docker multi-stage Node.js pour les nouveaux projets 4NK.

Dockerfile

  • Multi-stage build optimisé
  • Support pour Node.js et Rust
  • Configuration automatique des hooks Git

Scripts

  • modules/4NK_template/build.sh : build de l'image à partir de 4NK_template/
  • modules/4NK_template/run.sh : exécute l'image, mappe le port 3000
  • modules/4NK_template/clean.sh : supprime l'image construite et fait un prune

Version/tag

Lit 4NK_template/VERSION si présent, sinon git describe.

Prérequis

  • Docker et Docker Compose v2 (plugin) installés
  • Rust (latest stable) pour les projets SDK
  • Node.js 18+ pour les clients

Utilisation (recommandée)

Gestion moderne avec manage_services.sh

# Démarrer l'infrastructure complète
cd 4NK_node
./scripts/manage_services.sh start

# Vérifier le statut
./scripts/manage_services.sh status

# Arrêter et nettoyer
./scripts/manage_services.sh clean

Utilisation séquentielle (legacy)

  1. Construire 4NK_node
    • bash modules/4NK_node/build.sh
  2. Démarrer 4NK_node
    • bash modules/4NK_node/up.sh
  3. Construire 4NK_template
    • bash modules/4NK_template/build.sh
  4. Lancer 4NK_template
    • bash modules/4NK_template/run.sh
  5. Logs 4NK_node
    • bash modules/4NK_node/logs.sh
  6. Arrêt 4NK_node
    • bash modules/4NK_node/down.sh

Configuration

Variables d'environnement

  • COMPOSE_PROJECT_NAME : Nom du projet Docker (auto-détecté)
  • DOCKER_BUILDKIT : Active BuildKit pour des builds plus rapides

Ports exposés

  • 9050-9051 : Tor proxy
  • 18443 : Bitcoin RPC
  • 29000 : Bitcoin P2P
  • 8000 : Blindbit oracle
  • 8081 : SDK Storage
  • 8090-8091 : SDK Relays

Troubleshooting

Problèmes courants

  1. Ports déjà utilisés : Vérifier avec netstat -tulpn | grep <port>
  2. Images corrompues : Utiliser ./scripts/manage_services.sh clean
  3. Services qui ne démarrent pas : Vérifier les logs avec ./scripts/manage_services.sh logs

Logs et debugging

# Logs de tous les services
./scripts/manage_services.sh logs

# Logs d'un service spécifique
docker compose logs <service-name>

# Shell dans un conteneur
docker compose exec <service-name> /bin/bash