
- 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
3.5 KiB
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 gestionstart
: Démarre tous les servicesstop
: Arrête tous les servicesclean
: Nettoie conteneurs, images, volumesrestart
: Redémarre tous les servicesstatus
: Affiche le statut des serviceslogs
: Affiche les logs des services
Scripts legacy (modules/)
modules/4NK_node/build.sh
: construit les services avecdocker compose build
modules/4NK_node/up.sh
: démarre les services en détachémodules/4NK_node/down.sh
: arrête et nettoie les servicesmodules/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 de4NK_template/
modules/4NK_template/run.sh
: exécute l'image, mappe le port 3000modules/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)
- Construire 4NK_node
bash modules/4NK_node/build.sh
- Démarrer 4NK_node
bash modules/4NK_node/up.sh
- Construire 4NK_template
bash modules/4NK_template/build.sh
- Lancer 4NK_template
bash modules/4NK_template/run.sh
- Logs 4NK_node
bash modules/4NK_node/logs.sh
- 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
- Ports déjà utilisés : Vérifier avec
netstat -tulpn | grep <port>
- Images corrompues : Utiliser
./scripts/manage_services.sh clean
- 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