Files
wiki/Catalogue-Self-Hosted/apps/app-forgejo.md
T
2026-06-09 18:40:21 +02:00

5.8 KiB


title: Forgejo created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, development, forge, git, git-hosting, open-source] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Development, https://forgejo.org/]

💻 Forgejo

Forge Git communautaire fork de Gitea, auto-hébergeable, légère, avec une gouvernance plus saine et une garantie 100% open source.

📋 Informations Générales

Champ Valeur
Site web forgejo.org
GitHub (mirror) go-forge/forgejo
Dépôt principal codeberg/forgejo
License MIT
Langage Go
Étoiles GitHub 4 866 (mirror)
Catégorie cat-development
Note ⚠️ Fork de Gitea créé en 2022 par la communauté quand Gitea Inc. a tenté une bascule propriétaire. Forgejo garantit gouvernance communautaire, transparente, et 100% open source. C'est la forge utilisée par Codeberg.org.

📝 Description

Forgejo est une forge Git self-hosted légère, issue d'un fork de Gitea début 2023. La séparation d'avec Gitea est intervenue quand la société Gitea Inc. a tenté de basculer certaines éditions en licence propriétaire — la communauté a répondu en forgeant Forgejo pour préserver la liberté du logiciel.

Points clés :

  • Gouvernance communautaire : décisions prises par un Forgejo Committee (pas une entreprise)
  • 100% open source : licence MIT, pas de "open core"
  • Compatibilité Gitea : migration triviale (1 commande), même API REST
  • Léger : binaire Go unique, ~512 Mo de RAM pour une instance petite
  • Multi-plateforme : Linux, ARM (Raspberry Pi), Windows, macOS

Fonctionnalités :

  • Dépôts Git : branches, tags, releases, protection de branches
  • Pull/Merge requests : code review, approvals, conversations
  • CI/CD : Forgejo Actions (compatible GitHub Actions)
  • Container & Package Registry : images OCI, npm, Maven, PyPI…
  • Pages statiques, wiki, issue tracker, milestones
  • OAuth2, OIDC, LDAP : auth enterprise
  • Webhooks : intégration Slack, Discord, app-woodpecker-ci

Différence avec Gitea : gouvernance communautaire, pas de risque de basculement propriétaire.

Différence avec GitLab : beaucoup plus léger (1 Go RAM vs 8+), moins de features, mais plus rapide et plus simple.

🚀 Installation

Via Docker Compose (recommandé)

# docker-compose.yml
version: '3.8'
services:
  forgejo:
    image: codeberg/forgejo:8
    container_name: forgejo
    restart: unless-stopped
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - FORGEJO__server__DOMAIN=forgejo.example.com
      - FORGEJO__server__SSH_DOMAIN=forgejo.example.com
      - FORGEJO__server__ROOT_URL=https://forgejo.example.com
    volumes:
      - forgejo-data:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "2222:22"
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.forgejo.rule=Host(`forgejo.example.com`)"
      - "traefik.http.routers.forgejo.entrypoints=websecure"
      - "traefik.http.services.forgejo.loadbalancer.server.port=3000"
    networks:
      - proxy

  forgejo-db:
    image: postgres:15
    container_name: forgejo-db
    restart: unless-stopped
    environment:
      - POSTGRES_USER=forgejo
      - POSTGRES_PASSWORD=***      - POSTGRES_DB=forgejo
    volumes:
      - forgejo-db:/var/lib/postgresql/data
    networks:
      - proxy

volumes:
  forgejo-data:
  forgejo-db:

networks:
  proxy:
    external: true

Binaire standalone

wget -O forgejo https://codeberg.org/forgejo/forgejo/releases/download/v8.0.0/forgejo-8.0.0-linux-amd64
chmod +x forgejo
sudo mv forgejo /usr/local/bin/

⚙️ Configuration

  1. Premier accès : https://forgejo.example.com → assistant de configuration
  2. Compte admin : créé via l'UI, ou via CLI forgejo admin user create
  3. SMTP : configurer dans app.ini ([mailer])
  4. Auth OIDC : intégration native avec app-authentik / Keycloak
  5. Runners Actions : ajouter des runners via docker-compose séparé
  6. Backups : forgejo dump (chiffrement inclus)
  7. Migrer depuis Gitea : forgejo admin user migrate-from-gitea

🔗 Alternatives

  • app-gitea — Origine du fork, désormais risc propriétaire (à éviter)
  • app-gitlab — Beaucoup plus lourd, plus de features
  • app-woodpecker-ci + Forgejo — CI/CD externe couplé à la forge
  • OneDev — Concurrent Java, all-in-one
  • Gogs — Ancêtre, moins maintenu
  • Sourcehut — Pas self-hosted
  • Radicle — P2P, décentralisé, plus expérimental

🔒 Sécurité

  • HTTPS obligatoire (Traefik, Let's Encrypt)
  • 2FA activable (TOTP, WebAuthn)
  • SSH keys par utilisateur (FP de l'empreinte obligatoire)
  • GPG signed commits : supporté et vérifiable
  • Auth OIDC/SAML : recommandé pour organisations
  • Webhooks secrets : signer les payloads sortants
  • Backups chiffrés : forgejo dump puis chiffrement GPG
  • Audit log : activable dans app.ini
  • Runners Actions isolés : un runner = un conteneur

📚 Ressources

🔗 Pages Liées