# Configuration Gitea ## Fichiers de configuration - `gitea/docker-compose.yml` : Configuration Docker Compose - `gitea/gitea.env` : Variables d'environnement ## Configuration actuelle ### docker-compose.yml ```yaml 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 : ```yaml 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 : ```ini [webhook] ALLOWED_HOST_LIST = external,loopback,private ``` Via docker-compose : ```yaml 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 ```bash # 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 ```bash cd /opt/gitea docker compose pull docker compose up -d ``` ### Logs ```bash docker logs gitea -f ``` ## Depannage ### Erreur de connexion a la base de donnees Verifier que PostgreSQL est accessible : ```bash docker exec gitea_db pg_isready -U gitea ``` Verifier le reseau : ```bash 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 : ```bash docker logs gitea 2>&1 | grep -i mail ``` Tester la connexion SMTP : ```bash docker exec gitea curl -v telnet://mail.anuanua.fr:465 ```