5.8 KiB
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
- Premier accès :
https://forgejo.example.com→ assistant de configuration - Compte admin : créé via l'UI, ou via CLI
forgejo admin user create - SMTP : configurer dans
app.ini([mailer]) - Auth OIDC : intégration native avec app-authentik / Keycloak
- Runners Actions : ajouter des runners via docker-compose séparé
- Backups :
forgejo dump(chiffrement inclus) - 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 dumppuis chiffrement GPG - Audit log : activable dans
app.ini - Runners Actions isolés : un runner = un conteneur
📚 Ressources
🔗 Pages Liées
- cat-development — Catégorie Development
- app-gitea — Origine du fork (à éviter désormais)
- app-woodpecker-ci — CI/CD complémentaire
- app-traefik — Reverse proxy
- securisation-home-lab — Bonnes pratiques
- recettes-docker-compose — Templates Docker