174 lines
6.3 KiB
Markdown
174 lines
6.3 KiB
Markdown
# 4NK Environment
|
|
|
|
Environnement de développement centralisé pour tous les dépôts 4NK et le projet LeCoffre, incluant le contexte et l'outillage complet pour les agents IA.
|
|
|
|
## 🏗️ Architecture
|
|
|
|
### Environnement de développement centralisé avec agents IA
|
|
```
|
|
4NK_env/ # Environnement de développement 4NK + Agents IA
|
|
├── lecoffre_node/ # Orchestrateur principal LeCoffre (Nginx intégré)
|
|
├── sdk_relay/ # Service de relais WebSocket 4NK
|
|
├── sdk_signer/ # Service de signature 4NK
|
|
├── sdk_storage/ # Service de stockage 4NK
|
|
├── sdk_client/ # Client SDK 4NK
|
|
├── sdk_common/ # Composants communs 4NK
|
|
├── sdk-signer-client/ # Client signeur 4NK
|
|
├── ihm_client/ # Interface utilisateur LeCoffre
|
|
├── lecoffre-back-mini/ # API Backend LeCoffre
|
|
├── lecoffre-front/ # Frontend Next.js LeCoffre
|
|
├── doc_api/ # Documentation API 4NK
|
|
├── IA_agents/ # 🧠 Agents IA - Contexte et outillage complet
|
|
│ ├── context.md # Contexte général des projets
|
|
│ ├── deploy.md # Procédures de déploiement
|
|
│ ├── flux.md # Architecture des flux
|
|
│ └── todo.md # Liste des tâches et améliorations
|
|
└── scripts/ # Scripts de gestion et déploiement
|
|
├── clone-all-repos.sh # Clonage de tous les dépôts 4NK
|
|
├── init-4nk-env-repo.sh # Initialisation du dépôt 4NK_env
|
|
├── check-repos-status.sh # Vérification du statut des dépôts
|
|
├── push-to-remote.sh # Push vers git.4nkweb.com
|
|
└── setup-complete-env.sh # Configuration complète
|
|
```
|
|
|
|
## 🚀 Déploiement
|
|
|
|
### 1. Clonage de tous les dépôts 4NK (branche int-dev)
|
|
```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. Déploiement LeCoffre (architecture autonome)
|
|
```bash
|
|
cd lecoffre_node
|
|
./scripts/deploy-autonomous.sh
|
|
```
|
|
|
|
### 4. Configuration complète de l'environnement
|
|
```bash
|
|
./scripts/setup-complete-env.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
|
|
|
|
### Environnement de développement avec agents IA
|
|
- **Dépôts centralisés** : Tous les projets 4NK et LeCoffre dans un seul environnement
|
|
- **Branche unifiée** : `int-dev` pour tous les dépôts
|
|
- **Scripts de gestion** : Automatisation complète du clonage et déploiement
|
|
- **Agents IA** : Contexte et outillage complet dans IA_agents/
|
|
- **Documentation centralisée** : Toute la documentation technique accessible
|
|
|
|
### Architecture Autonome LeCoffre
|
|
- **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 et Agents IA
|
|
|
|
### Agents IA - Contexte et outillage complet (IA_agents/)
|
|
- **context.md** : Contexte général des projets 4NK et LeCoffre pour les agents IA
|
|
- **deploy.md** : Procédures de déploiement détaillées
|
|
- **flux.md** : Architecture des flux et services
|
|
- **todo.md** : Liste des tâches et améliorations à suivre
|
|
|
|
### Documentation spécifique
|
|
- **lecoffre_node/README-AUTONOMOUS.md** : Architecture autonome LeCoffre
|
|
- **doc_api/** : Documentation API 4NK
|
|
|
|
## 🛠️ Scripts Utiles
|
|
|
|
### Gestion des dépôts
|
|
```bash
|
|
./scripts/check-repos-status.sh # Vérifier le statut de tous les dépôts
|
|
./scripts/clone-all-repos.sh # Cloner tous les dépôts 4NK (branche int-dev)
|
|
./scripts/init-4nk-env-repo.sh # Initialiser le dépôt 4NK_env
|
|
./scripts/push-to-remote.sh # Pousser vers git.4nkweb.com
|
|
./scripts/setup-complete-env.sh # Configuration complète de l'environnement
|
|
```
|
|
|
|
## 🔐 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** : `int-dev`
|
|
|
|
### 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
|
|
|
|
### Environnement de développement avec agents IA
|
|
- **Branche unifiée** : `int-dev` pour tous les dépôts
|
|
- **Dépôt central** : `4NK_env` sur git.4nkweb.com
|
|
- **Scripts automatisés** : Clonage et déploiement
|
|
- **Agents IA** : Contexte et outillage toujours à jour
|
|
|
|
### LeCoffre
|
|
- **Tag Docker** : `int-dev`
|
|
- **Déclenchement** : Push sur `int-dev`
|
|
- **Build** : Automatique via Gitea CI
|
|
|
|
## 📞 Support
|
|
|
|
Pour toute question ou problème :
|
|
1. Vérifier les logs : `docker logs <container>`
|
|
2. Consulter la documentation des agents IA : `IA_agents/`
|
|
3. Vérifier le statut : `./scripts/check-repos-status.sh`
|
|
4. Utiliser l'outillage complet : Scripts et documentation centralisés
|