Initial commit: Infrastructure Git CI/CD avec Gitea, Woodpecker, PostgreSQL, Consul et Registrator
This commit is contained in:
160
docs/03-configuration-gitea.md
Normal file
160
docs/03-configuration-gitea.md
Normal file
@ -0,0 +1,160 @@
|
||||
# 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
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user