
- Création de docker-compose.test.yml pour démonstration - Services 4NK démarrés dans l'ordre: tor → bitcoin → blindbit → sdk_storage → sdk_relay1/2/3 → ihm_client → sdk_signer - Mise à jour de la documentation d'installation - Correction de la version PostgreSQL (15 → 16) - Tous les services fonctionnels avec dépendances respectées
6.9 KiB
6.9 KiB
Installation 4NK Node
Prérequis système
Système d'exploitation
- Linux : Debian/Ubuntu (recommandé) ou distribution compatible
- WSL2 : Windows Subsystem for Linux 2 (pour Windows)
- VM Linux : VirtualBox, VMware, Hyper-V
Ressources minimales
- CPU : 2 cœurs minimum, 4 cœurs recommandés
- RAM : 4 Go minimum, 8 Go recommandés
- Stockage : 20 Go minimum pour la blockchain signet
- Réseau : Connexion Internet stable
Installation des dépendances
1. Mise à jour du système
sudo apt update && sudo apt upgrade -y
2. Installation de Docker
# Installation de Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# Ajouter l'utilisateur au groupe docker
sudo usermod -aG docker $USER
# Redémarrer la session ou exécuter
newgrp docker
3. Installation de Docker Compose
# Docker Compose est inclus avec Docker moderne
docker compose version
4. Installation de Git
sudo apt install -y git
5. Installation de Nginx (local)
sudo apt install -y nginx
sudo systemctl enable nginx
6. Installation de Grafana (local)
# Ajouter la clé GPG Grafana
wget -q -O - https://packages.grafana.com/gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/grafana-archive-keyring.gpg > /dev/null
# Ajouter le dépôt Grafana
echo "deb [signed-by=/usr/share/keyrings/grafana-archive-keyring.gpg] https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
# Installer Grafana
sudo apt update
sudo apt install -y grafana
# Activer Grafana
sudo systemctl enable grafana-server
Installation du projet
1. Cloner le repository
# Cloner avec SSH (recommandé)
git clone git@git.4nkweb.com:4nk/4NK_node.git
cd 4NK_node
# Ou cloner avec HTTPS
git clone https://git.4nkweb.com/4nk/4NK_node.git
cd 4NK_node
2. Basculer sur la branche dev
git checkout dev
3. Vérifier la structure
# Vérifier la présence des répertoires
ls -la modules/ projects/ conf/ log/
# Vérifier docker-compose.yml
cat docker-compose.yml | head -20
Configuration
1. Configuration Nginx
# Copier les configurations
sudo cp conf/nginx/nginx.conf /etc/nginx/nginx.conf
sudo cp conf/nginx/sites-enabled/4nk_node.conf /etc/nginx/sites-enabled/4nk_node.conf
# Supprimer la configuration par défaut
sudo rm -f /etc/nginx/sites-enabled/default
# Tester la configuration
sudo nginx -t
2. Configuration Grafana
# Copier les configurations de monitoring
sudo cp log/grafana-datasources.yml /etc/grafana/provisioning/datasources/
sudo cp log/grafana-dashboards.yml /etc/grafana/provisioning/dashboards/
sudo cp -r log/dashboards /etc/grafana/provisioning/
# Créer les répertoires de logs
mkdir -p log/nginx modules/*/logs projects/*/*/logs
3. Configuration des permissions
# Permissions pour les logs
sudo chown -R $USER:$USER log/ modules/*/logs projects/*/*/logs
# Permissions pour Docker
sudo chmod 666 /var/run/docker.sock
Démarrage des services
1. Services locaux
# Démarrer Nginx
sudo systemctl start nginx
sudo systemctl status nginx
# Démarrer Grafana
sudo systemctl start grafana-server
sudo systemctl status grafana-server
2. Services Docker
# Tester la configuration
docker compose config --services
# Démarrer les services externes d'abord
docker compose up -d tor bitcoin blindbit miniback-postgres
# Vérifier le statut
docker ps
# Démarrer les services 4NK (si images disponibles)
docker compose up -d sdk_storage sdk_relay1 sdk_relay2 sdk_relay3 sdk_signer ihm_client
# Voir les logs
docker compose logs [service_name]
3. Vérification des services
# Vérifier les ports ouverts
sudo netstat -tlnp | grep -E "(80|3000|8080|8081|8000|8090-8095|9090)"
# Tester l'accès web
curl -I http://localhost/
curl -I http://localhost:3000/
Accès aux services
Interface web
- IHM principale : http://localhost/
- Grafana : http://localhost:3000/ (admin/admin)
- Grafana via Nginx : http://localhost/grafana/
Services 4NK
- Blindbit : http://localhost/blindbit/
- SDK Storage : http://localhost/sdk_storage/
- Relais : http://localhost/relay1/, /relay2/, /relay3/
- Signer : http://localhost/signer/
- Coffre : http://localhost/coffre/
WebSockets
- Relais WS : ws://localhost/relay1/ws/, /relay2/ws/, /relay3/ws/
- Signer WS : ws://localhost/signer/ws/
Services IA (optionnel)
Pour les services d'intelligence artificielle, utiliser le repository dédié :
# Cloner le repository IA
git clone https://git.4nkweb.com/4nk/4NK_IA.git
cd 4NK_IA
# Basculer sur le tag dev
git checkout dev
# Suivre les instructions d'installation dans 4NK_IA
Dépannage
Problèmes Docker
# Vérifier Docker
docker --version
docker compose version
# Redémarrer Docker
sudo systemctl restart docker
# Nettoyer les conteneurs
docker system prune -f
Problèmes de connectivité réseau
# Tester la connectivité Internet
ping -c 3 8.8.8.8
# Tester l'accès à Docker Hub
ping -c 3 registry-1.docker.io
# Tester le téléchargement d'images
docker pull hello-world
# Si les téléchargements échouent, vérifier :
# - Configuration proxy/firewall
# - DNS (essayer 8.8.8.8)
# - Connexion Internet stable
Problèmes de ports
# Vérifier les ports utilisés
sudo netstat -tlnp | grep -E "(80|3000|8080|8081|8000|8090-8095|9090)"
# Arrêter les services conflictuels
sudo systemctl stop apache2 # si Apache est installé
sudo systemctl stop nginx # pour redémarrer Nginx
Problèmes de permissions
# Vérifier les permissions Docker
ls -la /var/run/docker.sock
# Ajouter l'utilisateur au groupe docker
sudo usermod -aG docker $USER
newgrp docker
Logs de diagnostic
# Logs Docker
docker compose logs [service_name]
# Logs Nginx
sudo tail -f /var/log/nginx/4nk_node.access.log
sudo tail -f /var/log/nginx/4nk_node.error.log
# Logs Grafana
sudo journalctl -u grafana-server -f
Maintenance
Mise à jour
# Mettre à jour le code
git pull origin dev
# Mettre à jour les images Docker
docker compose pull
# Redémarrer les services
docker compose restart
Sauvegarde
# Sauvegarder les données
tar -czf 4nk_node_backup_$(date +%Y%m%d).tar.gz modules/*/data projects/*/*/data
# Sauvegarder les configurations
tar -czf 4nk_node_config_$(date +%Y%m%d).tar.gz conf/ log/
Nettoyage
# Nettoyer Docker
docker system prune -f
docker volume prune -f
# Nettoyer les logs
sudo find log/ -name "*.log" -mtime +7 -delete
Support
Pour obtenir de l'aide :
- Consulter la documentation
- Vérifier les issues existantes
- Créer une nouvelle issue avec les détails du problème
- Inclure les logs et la configuration utilisée