177 lines
3.0 KiB
Markdown
177 lines
3.0 KiB
Markdown
# Guide d'installation
|
|
|
|
## Prerequis
|
|
|
|
- Docker et Docker Compose installes
|
|
- Acces SSH au serveur
|
|
- Domaines configures : `git.syoul.fr`, `ci.syoul.fr`
|
|
|
|
## Ordre de deploiement
|
|
|
|
**IMPORTANT** : Respecter l'ordre suivant pour eviter les problemes de dependances.
|
|
|
|
```
|
|
1. Reseau Docker (si non existant)
|
|
2. PostgreSQL (base de donnees)
|
|
3. Gitea (serveur Git)
|
|
4. Consul (service discovery) [optionnel]
|
|
5. Registrator (auto-registration) [optionnel]
|
|
6. Woodpecker (CI/CD)
|
|
```
|
|
|
|
## Etape 1 : Creer le reseau Docker
|
|
|
|
Si le reseau n'existe pas :
|
|
|
|
```bash
|
|
docker network create gitgit_syoul_fr_gitea_net
|
|
```
|
|
|
|
Verifier :
|
|
|
|
```bash
|
|
docker network ls | grep gitea
|
|
```
|
|
|
|
## Etape 2 : Deployer PostgreSQL
|
|
|
|
```bash
|
|
cd /opt/postgres
|
|
docker compose up -d
|
|
docker logs gitea_db
|
|
```
|
|
|
|
Verifier :
|
|
|
|
```bash
|
|
docker exec gitea_db pg_isready -U gitea
|
|
```
|
|
|
|
## Etape 3 : Deployer Gitea
|
|
|
|
```bash
|
|
cd /opt/gitea
|
|
docker compose up -d
|
|
docker logs gitea
|
|
```
|
|
|
|
Verifier :
|
|
|
|
```bash
|
|
curl -s http://localhost:3300/api/v1/version
|
|
```
|
|
|
|
## Etape 4 : Deployer Consul (optionnel)
|
|
|
|
```bash
|
|
cd /opt/consul
|
|
docker compose up -d
|
|
docker logs consul
|
|
```
|
|
|
|
Verifier :
|
|
|
|
```bash
|
|
# UI accessible
|
|
curl -s http://localhost:8500/v1/status/leader
|
|
|
|
# DNS fonctionne
|
|
dig @localhost -p 8600 consul.service.consul
|
|
```
|
|
|
|
## Etape 5 : Deployer Registrator (optionnel)
|
|
|
|
**Prerequis** : Consul doit etre demarre et accessible.
|
|
|
|
```bash
|
|
cd /opt/registrator
|
|
docker compose up -d
|
|
docker logs registrator
|
|
```
|
|
|
|
Verifier :
|
|
|
|
```bash
|
|
# Les services apparaissent dans Consul
|
|
curl -s http://localhost:8500/v1/catalog/services | python3 -m json.tool
|
|
```
|
|
|
|
## Etape 6 : Deployer Woodpecker
|
|
|
|
```bash
|
|
cd /opt/woodpecker
|
|
docker compose up -d
|
|
docker logs woodpecker-server
|
|
docker logs woodpecker-agent
|
|
```
|
|
|
|
Verifier :
|
|
|
|
```bash
|
|
curl -s http://localhost:9001/api/info
|
|
```
|
|
|
|
## Verification finale
|
|
|
|
### Tous les conteneurs sont en cours d'execution
|
|
|
|
```bash
|
|
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
|
```
|
|
|
|
Resultat attendu :
|
|
|
|
```
|
|
NAMES STATUS PORTS
|
|
consul Up X minutes 0.0.0.0:8500->8500/tcp, ...
|
|
registrator Up X minutes
|
|
woodpecker-agent Up X minutes 3000/tcp
|
|
woodpecker-server Up X minutes 0.0.0.0:9001->8000/tcp, ...
|
|
gitea Up X minutes 0.0.0.0:3300->3000/tcp, ...
|
|
gitea_db Up X minutes 5432/tcp
|
|
```
|
|
|
|
### Services enregistres dans Consul
|
|
|
|
```bash
|
|
curl -s http://localhost:8500/v1/catalog/services
|
|
```
|
|
|
|
### Test de connexion OAuth2
|
|
|
|
1. Acceder a https://ci.syoul.fr
|
|
2. Cliquer sur "Se connecter avec git.syoul.fr"
|
|
3. S'authentifier sur Gitea
|
|
4. Autoriser l'application Woodpecker
|
|
5. Etre redirige vers le dashboard Woodpecker
|
|
|
|
## Commandes de maintenance
|
|
|
|
### Redemarrer un service
|
|
|
|
```bash
|
|
cd /opt/[service]
|
|
docker compose restart
|
|
```
|
|
|
|
### Voir les logs
|
|
|
|
```bash
|
|
docker logs -f [nom-conteneur]
|
|
```
|
|
|
|
### Mettre a jour un service
|
|
|
|
```bash
|
|
cd /opt/[service]
|
|
docker compose pull
|
|
docker compose up -d
|
|
```
|
|
|
|
### Sauvegarder PostgreSQL
|
|
|
|
```bash
|
|
docker exec gitea_db pg_dump -U gitea gitea > backup_$(date +%Y%m%d_%H%M%S).sql
|
|
```
|
|
|