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

117 lines
3.5 KiB
Markdown

# 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
```bash
# 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
```bash
# 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
```