# 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 ```