Ce guide suit la documentation d'installation avec Docker, relue le 14 octobre 2026, pour Gitea 28.1.0, la dernière version publiée le 6 octobre 2026. Il faut Docker Engine et son extension Compose.
Installer Gitea
- Créez un dossier et placez-vous dedans :
mkdir ~/gitea && cd ~/gitea - Créez le fichier
compose.yamlci-dessous. Il reprend l'exemple PostgreSQL de la documentation, avec deux changements : le port web n'est publié que sur l'adresse locale du serveur, et le mot de passe de la base est à remplacer. - Lancez :
docker compose up -d - Vérifiez :
docker compose ps
networks:
gitea:
external: false
services:
server:
image: docker.gitea.com/gitea:28.1.0
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=un-mot-de-passe-long
restart: always
networks:
- gitea
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "127.0.0.1:3000:3000"
- "222:22"
depends_on:
- db
db:
image: docker.io/library/postgres:18
restart: always
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=un-mot-de-passe-long
- POSTGRES_DB=gitea
networks:
- gitea
volumes:
- ./postgres:/var/lib/postgresql
Le mot de passe doit être le même aux deux endroits. La documentation fige volontairement la version majeure de PostgreSQL : il ne migre pas ses données seul, et passer à la version suivante demande pg_upgrade ou un export suivi d'une restauration.
Terminer la configuration
L'assistant s'ouvre à la première visite de l'interface. Ouvrez-la par un tunnel SSH, ssh -L 3000:127.0.0.1:3000 admin@adresse-du-serveur, puis http://localhost:3000, ou directement par le proxy décrit plus bas.
- Vérifiez que l'hôte de la base de données est
db, comme le précise la documentation. - Réglez l'adresse publique du site (« Base URL » dans l'assistant) sur l'adresse en HTTPS que vous lui donnerez.
- Réglez le port SSH affiché dans les adresses de clonage sur 222.
- Créez le compte administrateur, puis validez.
Les libellés de l'assistant changent d'une version à l'autre ; la langue de l'interface se choisit en haut de la page.
Ouvrir Gitea en HTTPS
Gitea écoute sur le port 3000. Avec Caddy installé sur le système :
git.votre-domaine.fr {
reverse_proxy 127.0.0.1:3000
}
La mise en place du proxy et du certificat est dans Un certificat SSL sur son VPS. Le clonage en HTTPS fonctionne alors sans autre réglage.
Cloner en SSH
Le conteneur fait tourner son propre serveur SSH, publié sur le port 222 du serveur ; le port 22 reste celui de votre connexion au serveur. Ajoutez votre clé publique dans les réglages de votre compte Gitea, puis clonez avec une adresse de la forme ssh://[email protected]:222/utilisateur/depot.git. La documentation conseille de ne changer que le côté serveur du couple de ports, jamais le port interne 22 du conteneur.
Sauvegarder
Tout vit dans deux dossiers à côté du fichier compose : gitea, qui contient les dépôts, la configuration et les pièces jointes, et postgres, la base. Arrêtez les conteneurs le temps de la copie (docker compose stop), copiez les deux dossiers hors du serveur, puis relancez avec docker compose start.
Mettre à jour
Changez l'étiquette de l'image dans compose.yaml pour la nouvelle version, après avoir lu ses notes de version, puis docker compose pull et docker compose up -d. Gitea migre sa base au démarrage : faites la sauvegarde avant. Le principe est dans Mettre à jour un conteneur Docker.
Sur un VPS Hubspace
Docker et Compose sont installés à la livraison, et le compte admin les utilise sans sudo. Le pare-feu ne laisse passer que 22, 80 et 443 depuis Internet : l'interface passe par le proxy, et le port 222 du clonage en SSH est fermé tant que vous ne l'ouvrez pas dans l'onglet « Firewalls » de l'espace client, comme le montre Ouvrir un port sur son VPS. Sans cette règle, clonez en HTTPS. Le même proxy peut servir d'autres outils sur le serveur, comme Plausible pour les statistiques de vos sites. Les tailles sont décrites sur la page des serveurs VPS.
Questions fréquentes
Gitea fait-il de l'intégration continue ?
Oui. D'après sa documentation, Gitea Actions est proche de GitHub Actions et en grande partie compatible. Gitea n'exécute pas les tâches lui-même : il les confie à un programme à part, Gitea Runner, à installer sur le même serveur ou ailleurs. Pour un dépôt resté sur GitHub, voir Déployer sur son VPS avec GitHub Actions.
Pourquoi le port 222 et pas 22 ?
Le port 22 du serveur sert déjà à votre propre connexion SSH. Le serveur SSH de Gitea, dans le conteneur, est donc publié sur un autre port du serveur.
Peut-on importer des dépôts de GitHub ?
Oui. Gitea a un formulaire de migration intégré, à l'adresse /repo/migrate de votre instance une fois connecté. Depuis GitHub, il reprend aussi les tickets et les demandes de fusion si vous indiquez votre nom d'utilisateur, d'après la page sur la migration.
Articles liés
- Vaultwarden : installer et sécuriser avec DockerInstaller Vaultwarden avec Docker Compose sur un serveur Linux, derrière Caddy en HTTPS, fermer les inscriptions et protéger la page d'administration.
- Installer n8n avec Docker Compose sur un serveurInstaller n8n avec Docker Compose sur un serveur Linux, derrière Traefik en HTTPS, avec les bonnes variables pour les webhooks, sauvegarder et mettre à jour.
- Nextcloud Docker : installer Nextcloud sur un VPSInstaller Nextcloud avec Docker sur un VPS grâce à l'image officielle All-in-One, ouvrir son interface sans l'exposer et le servir sur votre domaine en HTTPS.