---
title: Gitea
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, development, forge, git, ci-cd]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Development, https://github.com/go-gitea/gitea]
---

# 💻 Gitea

> Forge Git légère et auto-hébergeable — clone communautaire de Gitea, écrite en Go, conçue pour tourner sur du petit matériel (Raspberry Pi, NAS).

## 📋 Informations Générales

| Attribut | Valeur |
|----------|--------|
| **Nom** | Gitea |
| **Slug** | gitea |
| **Description** | Forge Git légère, écrite en Go, auto-hébergeable |
| **Site officiel** | https://about.gitea.com |
| **Repository** | https://github.com/go-gitea/gitea |
| **Stars** | 56 155 ⭐ |
| **Licence** | MIT |
| **Langage principal** | Go |
| **Catégorie** | Development |
| **Tags** | [catalogue, development, forge, git, ci-cd] |

## 📝 Description

**Gitea** est une **forge Git légère** écrite en Go, conçue pour s'auto-héberger sur du matériel modeste. Initialement dérivée de Gogs (2016), Gitea a depuis pris son indépendance technique et sa communauté, et constitue aujourd'hui l'une des forges open source les plus populaires, aux côtés de GitLab CE et Forgejo.

Fonctionnalités : hébergement de dépôts Git, pull requests, issues, wiki, releases, packages registry (Docker, npm, Maven, etc.), actions CI (Gitea Actions, compatible syntaxe GitHub Actions), projets kanban, pages statiques. Le tout fonctionne sur un binaire unique ~100 Mo avec SQLite, ou avec PostgreSQL/MySQL pour la production. RAM requise : ~256 Mo pour 100 utilisateurs.

**Modèle de licence** : 100 % MIT, pas de version payante. La société **Gitea Ltd.** (cofondée par les mainteneurs principaux) vend du **support commercial** et une offre cloud `gitea.com`, mais le code reste entièrement libre. Un **fork communautaire**, **Forgejo**, est né en 2022 suite à des divergences sur la gouvernance : Forgejo est plus conservateur, dirigé par une fondation à but non lucratif, sans société commerciale. Pour un self-host 100 % communautaire, beaucoup choisissent Forgejo.

## 🚀 Installation

### Via Docker (recommandé)

```yaml
# docker-compose.yml
version: "3.8"
services:
  gitea:
    image: gitea/gitea:1.22
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=sqlite3  # ou postgres
      - GITEA__server__ROOT_URL=https://git.example.com
      - GITEA__server__DOMAIN=git.example.com
    restart: unless-stopped
    volumes:
      - ./data:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"   # web UI
      - "2222:22"     # SSH Git
```

### Installation manuelle

```bash
# Binaire Linux x86_64
wget -O gitea https://dl.gitea.com/gitea/1.22/gitea-1.22-linux-amd64
chmod +x gitea
sudo ./gitea web --port 3000

# Service systemd minimal
sudo tee /etc/systemd/system/gitea.service <<EOF
[Unit]
Description=Gitea
After=syslog.target
[Service]
User=git
ExecStart=/usr/local/bin/gitea web
Restart=always
[Install]
WantedBy=multi-user.target
EOF
```

## ⚙️ Configuration

- **`ROOT_URL`** et **`DOMAIN`** : doivent pointer vers l'URL publique (HTTPS) — utilisé dans les webhooks et les liens d'email.
- **Base de données** : SQLite pour <50 utilisateurs, basculer sur PostgreSQL au-delà (migration via `gitea doctor --run-cli`).
- **`[service] DISABLE_REGISTRATION`** : `true` si l'instance est privée, ou utiliser une whitelist d'emails.
- **`[server] SSH_DOMAIN` / `SSH_PORT`** : configurer pour `git@git.example.com:user/repo` (port 22 interne mappé en 2222 sur l'hôte).
- **Backups** : `gitea dump` (commande intégrée) génère une archive complète (BDD + repos + LFS).

## 🔗 Alternatives

- **Forgejo** — Fork communautaire de Gitea, gouvernance par fondation, plus conservateur.
- **Gogs** — La forge « ancêtre » de Gitea, encore plus minimaliste, codebase différente aujourd'hui.
- **GitLab CE** — Forge complète (CI/CD, registry, pages) mais lourde (~4 Go RAM minimum, plus complexe à maintenir).
- **OneDev** — Forge DevOps intégrée (Git + CI/CD + Kanban + packages) en Java.

## 🔒 Sécurité

- **Deux points d'entrée** : HTTP (UI + API) et SSH (push Git) — durcir les deux : HTTPS obligatoire pour le web, et le port SSH doit être exposé derrière un reverse-proxy ou mappé.
- **Clés SSH** : Gitea peut gérer un serveur SSH interne, ou réutiliser OpenSSH de l'hôte (recommandé en production).
- **Mises à jour** : Gitea publie des correctifs de sécurité fréquents, **automatiser les updates via [Watchtower](https://containrrr.dev/watchtower/)** ou Renovate.
- **2FA** : à activer pour tous les comptes admin (`[openid] ENABLE_OPENID_SIGNIN`, TOTP natif dans l'UI).
- **Webhook secrets** : si vous reliez Gitea à un CI externe, toujours signer les webhooks (Gitea supporte HMAC-SHA256).

## 📚 Ressources

- [Site officiel](https://about.gitea.com)
- [Documentation auto-hébergement](https://docs.gitea.io/en-us/install-with-docker/)
- [Repository GitHub](https://github.com/go-gitea/gitea)
- [Selfh.st — Gitea](https://selfh.st/apps/?tag=Development)
- [Gitea vs Forgejo — Comparatif](https://forgejo.org/compare-to-gitea/)

## 🔗 Pages Liées

- [[cat-development]] — Catégorie Development
- [[app-gogs]] — Forge Git ancêtre de Gitea (plus minimaliste)
- [[app-onedev]] — Forge DevOps tout-en-un (Git + CI/CD + Kanban)
- [[app-code-server]] — Web IDE à coupler avec Gitea
- [[app-traefik]] — Reverse-proxy HTTPS pour git.example.com
- [[securisation-home-lab]] — Bonnes pratiques
- [[recettes-docker-compose]] — Templates Docker
