
- Correction de l'endpoint MinIO dans docker-compose.yml (suppression du protocole http://) - Création automatique du fichier .env avec les bonnes configurations - Ajout du script start-stack.sh pour faciliter le déploiement - Suppression du fichier docker-compose.simple.yml - Mise à jour de la documentation avec section de dépannage - Mise à jour du numéro de version à 1.2.1 Résout le problème 'path in endpoint is not allowed' de MinIO
179 lines
3.8 KiB
Markdown
179 lines
3.8 KiB
Markdown
# Configuration de l'environnement de développement 4NK_IA
|
|
|
|
## Résumé de l'installation
|
|
|
|
### ✅ Configuration Git et SSH terminée
|
|
|
|
#### Configuration Git
|
|
- **Utilisateur** : `ncantu`
|
|
- **Email** : `ncantu@4nkweb.com`
|
|
- **Branche par défaut** : `main`
|
|
- **Configuration SSH automatique** pour `git.4nkweb.com`
|
|
|
|
#### Clé SSH générée
|
|
- **Type** : ED25519 (recommandé pour la sécurité)
|
|
- **Emplacement** : `~/.ssh/id_ed25519`
|
|
- **Clé publique** : ``
|
|
|
|
#### Configuration SSH
|
|
Fichier `~/.ssh/config` configuré pour :
|
|
- `git.4nkweb.com` (serveur Gitea 4NK)
|
|
|
|
### 🔄 Installation des prérequis en cours
|
|
|
|
#### Packages système installés
|
|
- ✅ Git (version 2.47.3)
|
|
- ✅ OpenSSH Client
|
|
- ✅ curl
|
|
- ✅ wget
|
|
- 🔄 Python3 (version 3.13.5)
|
|
- 🔄 pip3 (installation en cours)
|
|
- 🔄 Docker (installation en cours)
|
|
|
|
#### Dépendances Python identifiées
|
|
Le projet utilise plusieurs services avec des dépendances spécifiques :
|
|
|
|
**Host API (FastAPI)**
|
|
- fastapi==0.115.0
|
|
- uvicorn[standard]==0.30.6
|
|
- pydantic==2.8.2
|
|
- sqlalchemy==2.0.35
|
|
- psycopg[binary]==3.2.1
|
|
- minio==7.2.7
|
|
- redis==5.0.7
|
|
- opensearch-py==2.6.0
|
|
- neo4j==5.23.1
|
|
- celery[redis]==5.4.0
|
|
|
|
**Worker (Celery)**
|
|
- celery[redis]==5.4.0
|
|
- opencv-python-headless==4.10.0.84
|
|
- pytesseract==0.3.13
|
|
- numpy==2.0.1
|
|
- pillow==10.4.0
|
|
- pdfminer.six==20240706
|
|
- ocrmypdf==15.4.0
|
|
|
|
**Tests**
|
|
- pytest==7.4.4
|
|
- pytest-cov==4.1.0
|
|
- pytest-asyncio==0.23.2
|
|
- httpx==0.27.0
|
|
- locust==2.20.0
|
|
|
|
### 🐳 Services Docker
|
|
Le projet utilise Docker Compose avec les services suivants :
|
|
- **host-api** : API FastAPI
|
|
- **worker** : Worker Celery
|
|
- **postgres** : Base de données PostgreSQL
|
|
- **redis** : Cache et broker de messages
|
|
- **minio** : Stockage d'objets
|
|
- **ollama** : Modèles d'IA locaux
|
|
- **anythingllm** : Interface d'IA
|
|
|
|
### 📋 Actions requises
|
|
|
|
#### 1. Ajouter la clé SSH
|
|
Vous devez ajouter la clé publique SSH à vos comptes :
|
|
```bash
|
|
# Afficher la clé publique
|
|
cat ~/.ssh/id_ed25519.pub
|
|
```
|
|
|
|
Ajoutez cette clé dans :
|
|
- **git.4nkweb.com** : Paramètres SSH de votre compte
|
|
|
|
#### 2. Tester la connexion SSH
|
|
```bash
|
|
# Tester git.4nkweb.com
|
|
ssh -T git@git.4nkweb.com
|
|
|
|
```
|
|
|
|
#### 3. Installation des dépendances Python
|
|
Une fois pip installé :
|
|
```bash
|
|
# Créer un environnement virtuel
|
|
python3 -m venv venv
|
|
source venv/bin/activate
|
|
|
|
# Installer les dépendances de test
|
|
pip install -r requirements-test.txt
|
|
|
|
# Installer les dépendances des services
|
|
pip install -r docker/host-api/requirements.txt
|
|
pip install -r docker/worker/requirements.txt
|
|
```
|
|
|
|
#### 4. Configuration Docker
|
|
```bash
|
|
# Démarrer les services
|
|
make up
|
|
|
|
# Vérifier le statut
|
|
make ps
|
|
|
|
# Voir les logs
|
|
make logs
|
|
```
|
|
|
|
### 🔧 Commandes utiles
|
|
|
|
#### Git
|
|
```bash
|
|
# Cloner un repository
|
|
git clone git@git.4nkweb.com:4NK/4NK_IA.git
|
|
|
|
# Configuration Git
|
|
git config --global --list
|
|
```
|
|
|
|
#### Docker
|
|
```bash
|
|
# Démarrer l'environnement de développement
|
|
make up
|
|
|
|
# Arrêter les services
|
|
make down
|
|
|
|
# Reconstruire les images
|
|
make build
|
|
|
|
# Nettoyer
|
|
make clean
|
|
```
|
|
|
|
#### Tests
|
|
```bash
|
|
# Lancer les tests
|
|
python -m pytest
|
|
|
|
# Tests avec couverture
|
|
python -m pytest --cov
|
|
|
|
# Tests de charge
|
|
locust -f tests/load_test.py
|
|
```
|
|
|
|
### 📁 Structure du projet
|
|
```
|
|
4NK_IA/
|
|
├── docker/ # Images Docker
|
|
│ ├── host-api/ # API FastAPI
|
|
│ └── worker/ # Worker Celery
|
|
├── services/ # Code source des services
|
|
├── tests/ # Tests automatisés
|
|
├── docs/ # Documentation
|
|
├── ops/ # Scripts d'opération
|
|
├── infra/ # Configuration infrastructure
|
|
└── requirements-test.txt # Dépendances de test
|
|
```
|
|
|
|
### 🚀 Prochaines étapes
|
|
1. Finaliser l'installation des prérequis
|
|
2. Tester la connexion SSH
|
|
3. Installer les dépendances Python
|
|
4. Démarrer l'environnement Docker
|
|
5. Exécuter les tests
|
|
6. Configurer l'environnement de développement
|