Files
infrastructure/docs/03-configuration-gitea.md

3.6 KiB

Configuration Gitea

Fichiers de configuration

  • gitea/docker-compose.yml : Configuration Docker Compose
  • gitea/gitea.env : Variables d'environnement

Configuration actuelle

docker-compose.yml

services:
  gitea:
    container_name: gitea
    image: gitea/gitea:latest
    restart: always
    env_file:
      - gitea.env
    networks:
      - gitgit_syoul_fr_gitea_net
    volumes:
      - gitgit_syoul_fr_gitea_data:/data
    ports:
      - "3300:3000"   # Web UI
      - "2222:22"     # SSH

volumes:
  gitgit_syoul_fr_gitea_data:
    external: true

networks:
  gitgit_syoul_fr_gitea_net:
    external: true

Variables d'environnement (gitea.env)

Variable Valeur Description
USER_UID 1000 UID de l'utilisateur Gitea
USER_GID 1000 GID de l'utilisateur Gitea
GITEA__database__DB_TYPE postgres Type de base de donnees
GITEA__database__HOST gitea_db:5432 Hote de la base de donnees
GITEA__database__NAME gitea Nom de la base de donnees
GITEA__database__USER gitea Utilisateur de la base de donnees
GITEA__database__PASSWD *** Mot de passe de la base de donnees
GITEA__server__DOMAIN git.syoul.fr Domaine public
GITEA__server__PROTOCOL http Protocole interne
GITEA__server__ROOT_URL http://git.syoul.fr/ URL racine publique
GITEA__server__HTTP_PORT 3000 Port HTTP interne

Configuration OAuth2 pour Woodpecker

Creer l'application OAuth2

  1. Se connecter a Gitea en tant qu'administrateur
  2. Aller dans Parametres utilisateur > Applications
  3. Sous "Gerer les applications OAuth2", creer une nouvelle application :
    • Nom : Woodpecker CI
    • URI de redirection : https://ci.syoul.fr/authorize
    • Client confidentiel : Oui
  4. Noter le Client ID et le Client Secret

Configurer Woodpecker

Dans woodpecker/docker-compose.yml, utiliser :

environment:
  WOODPECKER_GITEA_CLIENT: "votre-client-id"
  WOODPECKER_GITEA_SECRET: "votre-client-secret"

Configuration des webhooks

Autoriser les webhooks locaux

Dans Gitea, ajouter dans app.ini ou via variables d'environnement :

[webhook]
ALLOWED_HOST_LIST = external,loopback,private

Via docker-compose :

environment:
  GITEA__webhook__ALLOWED_HOST_LIST: external,loopback,private

Configurer le webhook automatique

Woodpecker configure automatiquement les webhooks lors de l'activation d'un depot. Verifier dans :

Depot > Parametres > Webhooks

Maintenance

Sauvegarder Gitea

# Sauvegarder le volume de donnees
docker run --rm -v gitgit_syoul_fr_gitea_data:/data -v $(pwd):/backup alpine tar cvzf /backup/gitea_backup_$(date +%Y%m%d).tar.gz /data

# Sauvegarder la base de donnees
docker exec gitea_db pg_dump -U gitea gitea > gitea_db_$(date +%Y%m%d).sql

Mettre a jour Gitea

cd /opt/gitea
docker compose pull
docker compose up -d

Logs

docker logs gitea -f

Depannage

Erreur de connexion a la base de donnees

Verifier que PostgreSQL est accessible :

docker exec gitea_db pg_isready -U gitea

Verifier le reseau :

docker exec gitea ping -c 2 gitea_db

Erreur OAuth2 "Client ID not registered"

  1. Verifier que l'application OAuth2 existe dans Gitea
  2. Verifier que le Client ID dans Woodpecker correspond
  3. Verifier que l'URI de redirection est correcte

Problemes d'envoi d'emails

Verifier les logs :

docker logs gitea 2>&1 | grep -i mail

Tester la connexion SMTP :

docker exec gitea curl -v telnet://mail.anuanua.fr:465