161 lines
3.6 KiB
Markdown
161 lines
3.6 KiB
Markdown
# 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
|
|
```
|
|
|