Add comprehensive documentation suite for AgentHub Phase 1: - ARCHITECTURE.md: Technical architecture, data model, tech stack rationale, security model, deployment topology, scalability considerations - API.md: Complete REST & WebSocket API reference with authentication flow, endpoints, events, error handling, rate limits, SDK examples - DEPLOYMENT.md: Deployment guide covering local dev, Phase 1 LAN, Phase 2 Coolify with environment setup, verification procedures, troubleshooting - GIT-HOSTING-GUIDE.md: Comparison of GitHub vs Forgejo for Barodine - FORGEJO-INSTALL.md: Forgejo installation via Coolify - FORGEJO-MANUAL-STEPS.md: Detailed manual steps for Forgejo setup Update README.md with documentation index linking to all guides. Closes BARAAA-56 (Documentation complète AgentHub Phase 1). Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
250 lines
6.7 KiB
Markdown
250 lines
6.7 KiB
Markdown
# Installation Forgejo - Étapes manuelles
|
|
|
|
## Ce que vous devez faire
|
|
|
|
### 1. Interface Coolify (Principal)
|
|
|
|
**URL**: https://coolify.barodine.net
|
|
|
|
#### Créer le service Forgejo
|
|
|
|
1. **Naviguer vers le projet**
|
|
- Menu: Projects → **Barodine IA**
|
|
- Cliquer: **"+ New Resource"**
|
|
|
|
2. **Type de service**
|
|
- Choisir: **"Service"**
|
|
- Type: **"Docker Image"**
|
|
|
|
3. **Configuration**
|
|
|
|
| Paramètre | Valeur |
|
|
|-----------|--------|
|
|
| Name | `forgejo` |
|
|
| Image | `codeberg.org/forgejo/forgejo:9` |
|
|
| Port | `3000` |
|
|
| FQDN | `git.barodine.net` |
|
|
| Enable HTTPS | ✅ Oui |
|
|
|
|
4. **Volume (IMPORTANT!)**
|
|
- Cliquer **"Add Volume"**
|
|
- Name: `forgejo-data`
|
|
- Source: `/var/lib/forgejo`
|
|
- Destination: `/data`
|
|
- Type: Named volume
|
|
|
|
5. **Variables d'environnement**
|
|
|
|
Copier toutes ces lignes dans la section "Environment Variables":
|
|
|
|
```bash
|
|
USER_UID=1000
|
|
USER_GID=1000
|
|
FORGEJO__database__DB_TYPE=postgres
|
|
FORGEJO__database__HOST=rffv6pfwpdftlhunzoishduj:5432
|
|
FORGEJO__database__NAME=postgres
|
|
FORGEJO__database__USER=postgres
|
|
FORGEJO__database__PASSWD=UpW5nyYcNSy88bQiNppIRdFKrtul2Bu4hXzxitzcB4IHU9sAzGc2mkndvKdA1J42
|
|
FORGEJO__server__DOMAIN=git.barodine.net
|
|
FORGEJO__server__ROOT_URL=https://git.barodine.net
|
|
FORGEJO__server__HTTP_PORT=3000
|
|
FORGEJO__server__PROTOCOL=http
|
|
FORGEJO__server__START_SSH_SERVER=true
|
|
FORGEJO__server__SSH_PORT=2222
|
|
FORGEJO__server__SSH_LISTEN_PORT=22
|
|
FORGEJO__security__INSTALL_LOCK=false
|
|
FORGEJO__security__SECRET_KEY=ChangeThisToARandomSecretKey32Chars1234567890
|
|
FORGEJO__service__DISABLE_REGISTRATION=false
|
|
FORGEJO__service__REQUIRE_SIGNIN_VIEW=false
|
|
FORGEJO__service__ENABLE_NOTIFY_MAIL=false
|
|
FORGEJO__session__PROVIDER=memory
|
|
```
|
|
|
|
6. **Déployer**
|
|
- Cliquer **"Deploy"**
|
|
- Attendre 1-2 minutes (voir les logs)
|
|
|
|
---
|
|
|
|
### 2. Terminal de 192.168.9.25 (Optionnel - Vérification uniquement)
|
|
|
|
**Vous n'avez RIEN à faire sur le terminal** si Coolify fonctionne correctement.
|
|
|
|
Mais si vous voulez vérifier que tout est OK:
|
|
|
|
#### Vérification 1: Docker est bien démarré
|
|
|
|
```bash
|
|
ssh user@192.168.9.25
|
|
|
|
# Vérifier que Docker tourne
|
|
sudo systemctl status docker
|
|
|
|
# Devrait afficher: active (running)
|
|
```
|
|
|
|
#### Vérification 2: Le container Forgejo est bien créé
|
|
|
|
```bash
|
|
# Lister les containers Coolify
|
|
sudo docker ps | grep forgejo
|
|
|
|
# Devrait afficher quelque chose comme:
|
|
# abc123... codeberg.org/forgejo/forgejo:9 ... Up 2 minutes ... forgejo
|
|
```
|
|
|
|
#### Vérification 3: Les logs du container
|
|
|
|
```bash
|
|
# Voir les logs Forgejo
|
|
sudo docker logs -f $(sudo docker ps | grep forgejo | awk '{print $1}')
|
|
|
|
# Chercher cette ligne (indique que Forgejo a démarré):
|
|
# "Starting new Web server: tcp:0.0.0.0:3000"
|
|
|
|
# Appuyer sur Ctrl+C pour quitter les logs
|
|
```
|
|
|
|
#### Vérification 4: Tester la connexion DB (si problème)
|
|
|
|
```bash
|
|
# Se connecter au container Forgejo
|
|
sudo docker exec -it $(sudo docker ps | grep forgejo | awk '{print $1}') sh
|
|
|
|
# Dans le container, tester la connexion PostgreSQL
|
|
psql "postgres://postgres:UpW5nyYcNSy88bQiNppIRdFKrtul2Bu4hXzxitzcB4IHU9sAzGc2mkndvKdA1J42@rffv6pfwpdftlhunzoishduj:5432/postgres"
|
|
|
|
# Si ça se connecte, c'est bon! Taper \q pour quitter
|
|
# Taper exit pour sortir du container
|
|
```
|
|
|
|
#### Si le port SSH 2222 ne fonctionne pas (optionnel)
|
|
|
|
Par défaut, Forgejo expose SSH sur le port 2222. Si vous voulez cloner via SSH:
|
|
|
|
```bash
|
|
# Ouvrir le port dans le firewall
|
|
sudo ufw allow 2222/tcp
|
|
|
|
# Vérifier que le port est ouvert
|
|
sudo ufw status | grep 2222
|
|
```
|
|
|
|
---
|
|
|
|
### 3. Configuration initiale de Forgejo (Navigateur)
|
|
|
|
Une fois que Forgejo est déployé:
|
|
|
|
1. **Ouvrir**: https://git.barodine.net
|
|
2. **Page d'installation** s'affiche automatiquement
|
|
3. **Paramètres déjà configurés** (via les env vars):
|
|
- Type DB: PostgreSQL
|
|
- Host: rffv6pfwpdftlhunzoishduj:5432
|
|
- User: postgres
|
|
- Password: (déjà rempli)
|
|
- Database: postgres
|
|
|
|
4. **Configurer l'admin**:
|
|
- Username: `admin` (ou votre choix)
|
|
- Password: (choisir un mot de passe fort)
|
|
- Email: votre email
|
|
|
|
5. **Paramètres du site**:
|
|
- Site Title: `Barodine Git`
|
|
- Server Domain: `git.barodine.net` (déjà rempli)
|
|
- SSH Server Port: `2222` (déjà rempli)
|
|
- Base URL: `https://git.barodine.net` (déjà rempli)
|
|
|
|
6. **Cliquer "Install Forgejo"**
|
|
|
|
7. **Connexion**:
|
|
- Se connecter avec le compte admin créé
|
|
|
|
---
|
|
|
|
### 4. Créer le premier repository (AgentHub)
|
|
|
|
1. **Dans Forgejo**, cliquer **"+"** → **"New Repository"**
|
|
2. **Configurer**:
|
|
- Owner: Votre username
|
|
- Repository Name: `agenthub`
|
|
- Description: "AgentHub - Hub de communication temps réel pour agents IA"
|
|
- Visibility: **Private** (ou Public selon besoin)
|
|
- Initialize: ❌ **NON** (on va pousser le code existant)
|
|
3. **Cliquer "Create Repository"**
|
|
4. **Copier l'URL HTTPS** affichée (ex: `https://git.barodine.net/admin/agenthub.git`)
|
|
|
|
---
|
|
|
|
### 5. Pousser le code AgentHub vers Forgejo (Sur votre machine de dev)
|
|
|
|
```bash
|
|
# Se placer dans le répertoire AgentHub
|
|
cd /home/alexandre/.paperclip/instances/default/workspaces/8780faf8-03bb-45e9-989e-167eeb438b58/agenthub
|
|
|
|
# Supprimer le remote GitHub (ou le garder si vous voulez les deux)
|
|
git remote remove origin
|
|
|
|
# Ajouter Forgejo comme remote origin
|
|
git remote add origin https://git.barodine.net/admin/agenthub.git
|
|
|
|
# Pousser le code
|
|
git push -u origin main
|
|
|
|
# Entrer vos credentials Forgejo quand demandé
|
|
```
|
|
|
|
---
|
|
|
|
## Résumé des actions
|
|
|
|
| Action | Où | Temps |
|
|
|--------|-----|-------|
|
|
| 1. Créer service Forgejo | Coolify web (https://coolify.barodine.net) | 5 min |
|
|
| 2. Vérifier logs | Coolify → Onglet Logs | 1 min |
|
|
| 3. Configuration initiale Forgejo | Navigateur (https://git.barodine.net) | 3 min |
|
|
| 4. Créer repo AgentHub | Forgejo web | 2 min |
|
|
| 5. Pousser le code | Terminal local | 2 min |
|
|
|
|
**Total: ~13 minutes**
|
|
|
|
---
|
|
|
|
## Troubleshooting rapide
|
|
|
|
### Forgejo ne démarre pas
|
|
|
|
1. Vérifier les logs dans Coolify → Logs
|
|
2. Chercher des erreurs de connexion DB
|
|
3. Vérifier que la DB Postgres est bien UP dans Coolify → Databases
|
|
|
|
### Page d'installation ne s'affiche pas
|
|
|
|
1. Vérifier que `FORGEJO__security__INSTALL_LOCK=false`
|
|
2. Redémarrer le service dans Coolify
|
|
|
|
### SSH ne fonctionne pas
|
|
|
|
1. Dans Coolify, aller dans Forgejo → Networking
|
|
2. Ajouter un port mapping:
|
|
- Host Port: `2222`
|
|
- Container Port: `22`
|
|
3. Redémarrer le service
|
|
|
|
### Cannot push to Forgejo
|
|
|
|
1. Vérifier que le repo est bien créé dans Forgejo
|
|
2. Vérifier que vous utilisez la bonne URL (copier depuis Forgejo)
|
|
3. Vérifier vos credentials (username/password)
|
|
|
|
---
|
|
|
|
## Prochaines étapes après installation
|
|
|
|
1. ✅ Forgejo installé et accessible
|
|
2. ✅ Repository AgentHub créé
|
|
3. ✅ Code poussé vers Forgejo
|
|
4. ⏳ Créer l'application AgentHub dans Coolify (source: Forgejo)
|
|
5. ⏳ Configurer le webhook Forgejo → Coolify
|
|
6. ⏳ Déployer AgentHub et tester `/metrics`
|