# 4NK Environment Environnement complet pour le déploiement de LeCoffre et tous ses services. ## 🏗️ Architecture ``` 4NK_env/ ├── lecoffre_node/ # Orchestrateur principal avec Nginx intégré ├── sdk_relay/ # Service de relais WebSocket ├── sdk_signer/ # Service de signature ├── sdk_storage/ # Service de stockage ├── sdk_client/ # Client SDK ├── sdk_common/ # Composants communs ├── sdk-signer-client/ # Client signeur ├── ihm_client/ # Interface utilisateur ├── lecoffre-back-mini/ # API Backend ├── lecoffre-front/ # Frontend Next.js ├── doc_api/ # Documentation API ├── IA_agents/ # Agents IA et documentation └── scripts/ # Scripts de déploiement ├── clone-all-repos.sh # Clonage de tous les projets ├── init-4nk-env-repo.sh # Initialisation du dépôt 4NK_env └── check-repos-status.sh # Vérification du statut ``` ## 🚀 Déploiement ### 1. Clonage de tous les projets (branche ext) ```bash cd /home/debian/4NK_env ./scripts/clone-all-repos.sh ``` ### 2. Initialisation du dépôt 4NK_env ```bash ./scripts/init-4nk-env-repo.sh ``` ### 3. Architecture autonome ```bash cd lecoffre_node ./scripts/deploy-autonomous.sh ``` ## 🌐 Services et Ports | Service | URL | Description | |---------|-----|-------------| | **LeCoffre Front** | http://localhost/lecoffre/ | Application principale | | **IHM Client** | http://localhost/ | Interface client | | **API Backend** | http://localhost/api/ | API REST | | **WebSocket** | ws://localhost/ws/ | Communication temps réel | | **Status Page** | http://localhost/status/ | Tableau de bord | | **Grafana** | http://localhost/grafana/ | Monitoring | | **Redirections IdNot** | http://local.4nkweb.com:3000/ | Redirections externes | | **HTTPS** | https://localhost/ | Accès sécurisé | ### Ports - **80** : HTTP (redirection vers HTTPS) - **443** : HTTPS avec certificats auto-signés - **3000** : Redirections externes IdNot ## 🔧 Configuration ### Architecture Autonome - **Nginx intégré** dans le conteneur `lecoffre_node` - **Indépendant du host** (Nginx local supprimé) - **Configuration centralisée** dans `lecoffre_node/conf/` - **Variables d'environnement** dans `env.master` ### Monitoring - **Grafana** : Tableaux de bord et visualisation - **Loki** : Collecte et stockage des logs - **Promtail** : Agent de collecte des logs ## 📚 Documentation - **IA_agents/context.md** : Contexte général du projet - **IA_agents/deploy.md** : Procédures de déploiement - **IA_agents/flux.md** : Architecture des flux - **lecoffre_node/README-AUTONOMOUS.md** : Architecture autonome ## 🛠️ Scripts Utiles ### Vérification du statut ```bash ./scripts/check-repos-status.sh ``` ### Clonage des projets ```bash ./scripts/clone-all-repos.sh ``` ### Initialisation du dépôt ```bash ./scripts/init-4nk-env-repo.sh ``` ## 🔐 Sécurité - **Fichiers .env** protégés par `.gitignore` - **Certificats SSL** auto-signés générés automatiquement - **Utilisateurs non-root** dans tous les conteneurs - **Secrets centralisés** dans `env.master` ## 🐳 Docker ### Images optimisées - **Base Debian** `bookworm-slim` - **Packages minimaux** pour la sécurité - **Utilisateurs non-root** (`appuser`, `lecoffreuser`) - **Tag unique** : `ext` ### Architecture - **Conteneur master** : `lecoffre_node` avec Nginx intégré - **Services autonomes** : Chaque service dans son conteneur - **Réseau Docker** : Communication interne sécurisée ## 📊 Monitoring ### Dashboards Grafana - Bitcoin Miner - Backend Services - SDK Services - Frontend Services - Bitcoin Services - Vue d'ensemble ### Logs centralisés - **Loki** : Stockage des logs - **Promtail** : Collecte des logs - **LogQL** : Requêtes de logs ## 🔄 CI/CD - **Branche** : `ext` - **Tag Docker** : `ext` - **Déclenchement** : Push sur `ext` - **Build** : Automatique via Gitea CI ## 📞 Support Pour toute question ou problème : 1. Vérifier les logs : `docker logs ` 2. Consulter la documentation : `IA_agents/` 3. Vérifier le statut : `./scripts/check-repos-status.sh`