agenthub/docs/FORGEJO-INSTALL.md
Paperclip FoundingEngineer ef613a3679 docs(agenthub): Complete Phase 1 documentation
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>
2026-05-02 09:28:58 +00:00

8.3 KiB

Installation Forgejo sur 192.168.9.25

Guide complet pour installer Forgejo (Git self-hosted) sur le serveur Coolify.

Méthode 1: Installation via Coolify (Recommandée)

Prérequis

Étapes

1. Créer le service Forgejo dans Coolify

  1. Ouvrir Coolify: https://coolify.barodine.net
  2. Aller dans le projet "Barodine IA"
  3. Cliquer sur "+ New Resource""Service""Docker Image"

2. Configuration du service

Informations de base:

  • Name: forgejo
  • Image: codeberg.org/forgejo/forgejo:9
  • Port: 3000

Domain:

  • FQDN: git.barodine.net (ou autre domaine souhaité)
  • Enable HTTPS: Oui

Volumes (Storage): Ajouter un volume persistant:

  • Source: /var/lib/forgejo
  • Destination: /data

3. Variables d'environnement

Ajouter ces variables dans l'onglet "Environment Variables":

# Base de données
FORGEJO__database__DB_TYPE=postgres
FORGEJO__database__HOST=rffv6pfwpdftlhunzoishduj:5432
FORGEJO__database__NAME=postgres
FORGEJO__database__USER=postgres
FORGEJO__database__PASSWD=UpW5nyYcNSy88bQiNppIRdFKrtul2Bu4hXzxitzcB4IHU9sAzGc2mkndvKdA1J42

# Configuration serveur
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

# Sécurité
FORGEJO__security__INSTALL_LOCK=false
FORGEJO__security__SECRET_KEY=changeme-generate-random-secret-key-here

# Service
FORGEJO__service__DISABLE_REGISTRATION=false
FORGEJO__service__REQUIRE_SIGNIN_VIEW=false
FORGEJO__service__ENABLE_NOTIFY_MAIL=false

# Session
FORGEJO__session__PROVIDER=memory

4. Déployer

  1. Cliquer sur "Deploy"
  2. Attendre que le service démarre (~1-2 minutes)
  3. Vérifier les logs dans l'onglet "Logs"

5. Configuration initiale de Forgejo

  1. Ouvrir https://git.barodine.net
  2. Vous serez redirigé vers la page d'installation
  3. Les paramètres DB sont déjà configurés via les env vars
  4. Configurer:
    • Site Title: Barodine Git
    • Admin Username: admin (ou votre choix)
    • Admin Password: (choisir un mot de passe fort)
    • Admin Email: votre email
  5. Cliquer sur "Install Forgejo"

6. Activer SSH (optionnel)

Pour cloner/pousser via SSH:

  1. Dans Coolify, aller dans "Forgejo""Networking"
  2. Ajouter un "TCP Port Mapping":
    • Host Port: 2222
    • Container Port: 22
  3. Redémarrer le service

Cloner via SSH deviendra:

git clone ssh://git@git.barodine.net:2222/username/repo.git

Méthode 2: Installation via Docker Compose (Alternative)

Si vous préférez une installation Docker Compose manuelle:

1. Se connecter au serveur

ssh user@192.168.9.25

2. Créer le répertoire de données

sudo mkdir -p /var/lib/forgejo
sudo chown -R 1000:1000 /var/lib/forgejo

3. Créer docker-compose.yml

cat > forgejo-compose.yml <<'EOF'
version: '3'

services:
  forgejo:
    image: codeberg.org/forgejo/forgejo:9
    container_name: forgejo
    restart: unless-stopped
    environment:
      - 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
    volumes:
      - /var/lib/forgejo:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"
      - "2222:22"
    networks:
      - coolify
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.forgejo.rule=Host(\`git.barodine.net\`)"
      - "traefik.http.routers.forgejo.entrypoints=https"
      - "traefik.http.routers.forgejo.tls=true"
      - "traefik.http.routers.forgejo.tls.certresolver=letsencrypt"
      - "traefik.http.services.forgejo.loadbalancer.server.port=3000"

networks:
  coolify:
    external: true
EOF

4. Démarrer Forgejo

docker compose -f forgejo-compose.yml up -d

5. Vérifier les logs

docker logs -f forgejo

Post-Installation

1. Créer le premier repository (AgentHub)

  1. Se connecter à Forgejo: https://git.barodine.net
  2. Cliquer sur "+""New Repository"
  3. Configurer:
    • Owner: Votre username
    • Repository Name: agenthub
    • Visibility: Private (ou Public selon besoin)
    • Initialize Repository: Non (on va pusher le code existant)
  4. Cliquer sur "Create Repository"

2. Configurer le remote Git local

cd /home/alexandre/.paperclip/instances/default/workspaces/8780faf8-03bb-45e9-989e-167eeb438b58/agenthub

# Supprimer l'ancien remote GitHub
git remote remove origin

# Ajouter le remote Forgejo
git remote add origin https://git.barodine.net/username/agenthub.git

# Pousser le code
git push -u origin main

3. Configurer Coolify pour déployer depuis Forgejo

  1. Dans Coolify, créer une nouvelle Application
  2. Source: Git Repository
  3. Git URL: https://git.barodine.net/username/agenthub.git
  4. Branch: main
  5. Build Pack: Dockerfile
  6. Configurer les variables d'environnement (voir section suivante)

Configuration AgentHub sur Coolify

Variables d'environnement

NODE_ENV=production
HOST=0.0.0.0
PORT=3000
LOG_LEVEL=info

# PostgreSQL (créer une nouvelle DB pour AgentHub)
POSTGRES_HOST=<db_uuid_here>
POSTGRES_PORT=5432
POSTGRES_USER=postgres
POSTGRES_PASSWORD=<db_password_here>
POSTGRES_DB=postgres

# Sécurité
JWT_SECRET=<générer_un_secret_32_chars>
ALLOWED_ORIGINS=https://agenthub.barodine.net
ENABLE_HSTS=true

# Features
FEATURE_MESSAGING_ENABLED=true

Créer la base de données AgentHub

curl -X POST "$COOLIFY_API_URL/api/v1/databases/postgresql" \
  -H "Authorization: Bearer $COOLIFY_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "server_uuid": "gw9o6m2ftfvx7g5guf82nkiq",
    "project_uuid": "x9fenmiro11hv1uqij88z88a",
    "environment_name": "production",
    "name": "agenthub-db",
    "description": "PostgreSQL database for AgentHub",
    "image": "postgres:16-alpine",
    "instant_deploy": true
  }'

Webhooks et CI/CD

Activer les webhooks Forgejo → Coolify

  1. Dans Forgejo, aller dans le repo agenthubSettingsWebhooks
  2. Cliquer sur "Add Webhook""Forgejo"
  3. Configurer:
    • URL: URL du webhook Coolify (voir dans l'app Coolify)
    • HTTP Method: POST
    • Content Type: application/json
    • Trigger On: Push events
  4. Sauvegarder

Maintenant, chaque git push déclenchera un rebuild automatique dans Coolify!


Résumé des URLs

Service URL Port
Forgejo Web https://git.barodine.net 443
Forgejo SSH git.barodine.net 2222
AgentHub https://agenthub.barodine.net 443
AgentHub Metrics https://agenthub.barodine.net/metrics 443
Coolify https://coolify.barodine.net 443

Troubleshooting

Forgejo ne démarre pas

# Vérifier les logs
docker logs forgejo

# Vérifier la connexion DB
docker exec -it forgejo sh
psql "postgres://postgres:PASSWORD@rffv6pfwpdftlhunzoishduj:5432/postgres"

Erreur "database is locked"

  • Forgejo utilise SQLite par défaut si la config DB échoue
  • Vérifier que toutes les env vars FORGEJO__database__* sont correctes
  • Redémarrer le service

SSH ne fonctionne pas

  1. Vérifier que le port 2222 est mappé dans Coolify
  2. Vérifier que le firewall autorise le port 2222:
    sudo ufw allow 2222/tcp
    

Prochaines étapes

  1. Installer Forgejo via Coolify (Méthode 1)
  2. Créer le repository AgentHub
  3. Pousser le code depuis le workspace local
  4. Créer la DB PostgreSQL pour AgentHub
  5. Créer l'application AgentHub dans Coolify
  6. Déployer et tester l'endpoint /metrics
  7. Configurer Prometheus et Grafana