3.0 KiB
3.0 KiB
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 :
docker network create gitgit_syoul_fr_gitea_net
Verifier :
docker network ls | grep gitea
Etape 2 : Deployer PostgreSQL
cd /opt/postgres
docker compose up -d
docker logs gitea_db
Verifier :
docker exec gitea_db pg_isready -U gitea
Etape 3 : Deployer Gitea
cd /opt/gitea
docker compose up -d
docker logs gitea
Verifier :
curl -s http://localhost:3300/api/v1/version
Etape 4 : Deployer Consul (optionnel)
cd /opt/consul
docker compose up -d
docker logs consul
Verifier :
# 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.
cd /opt/registrator
docker compose up -d
docker logs registrator
Verifier :
# Les services apparaissent dans Consul
curl -s http://localhost:8500/v1/catalog/services | python3 -m json.tool
Etape 6 : Deployer Woodpecker
cd /opt/woodpecker
docker compose up -d
docker logs woodpecker-server
docker logs woodpecker-agent
Verifier :
curl -s http://localhost:9001/api/info
Verification finale
Tous les conteneurs sont en cours d'execution
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
curl -s http://localhost:8500/v1/catalog/services
Test de connexion OAuth2
- Acceder a https://ci.syoul.fr
- Cliquer sur "Se connecter avec git.syoul.fr"
- S'authentifier sur Gitea
- Autoriser l'application Woodpecker
- Etre redirige vers le dashboard Woodpecker
Commandes de maintenance
Redemarrer un service
cd /opt/[service]
docker compose restart
Voir les logs
docker logs -f [nom-conteneur]
Mettre a jour un service
cd /opt/[service]
docker compose pull
docker compose up -d
Sauvegarder PostgreSQL
docker exec gitea_db pg_dump -U gitea gitea > backup_$(date +%Y%m%d_%H%M%S).sql