# Checklist d'installation GitLab sur chillka ## Préparation - [ ] Accès SSH à chillka en tant que `toshiro` - [ ] Permissions sudo sur chillka - [ ] Vérifier que `/var/data/git/repositories` existe - [ ] **Vérifier la RAM disponible (minimum 2GB, 4GB recommandé)** - [ ] **Vérifier l'espace disque (minimum 4GB)** - [ ] Vérifier la connexion internet (pour télécharger GitLab) ## Installation ### Option A : Installation Omnibus (Recommandé) - [ ] Copier le script `installation-gitlab.sh` sur chillka - [ ] Rendre le script exécutable : `chmod +x installation-gitlab.sh` - [ ] Exécuter le script : `./installation-gitlab.sh` - [ ] Attendre la fin de l'installation (10-15 minutes) - [ ] Vérifier que GitLab démarre : `sudo gitlab-ctl status` - [ ] Vérifier les logs si problème : `sudo gitlab-ctl tail` ### Option B : Installation Docker - [ ] Vérifier que Docker est installé : `docker --version` - [ ] Vérifier que Docker Compose est installé : `docker-compose --version` - [ ] Copier `docker-compose-gitlab.yml` dans `~/gitlab/docker-compose.yml` - [ ] Adapter la configuration dans docker-compose.yml si nécessaire - [ ] Exécuter : `docker-compose up -d` - [ ] Attendre le démarrage complet (5-10 minutes) - [ ] Vérifier les logs : `docker-compose logs -f gitlab` ## Configuration initiale - [ ] Ouvrir l'URL GitLab dans un navigateur (http://chillka ou celle configurée) - [ ] Attendre que la page de définition du mot de passe s'affiche - [ ] Définir le mot de passe root (minimum 8 caractères) - [ ] Se connecter avec : - Username: `root` - Password: [le mot de passe défini] - [ ] Vérifier que l'interface GitLab fonctionne ## Configuration du dépôt existant - [ ] Vérifier que GitLab utilise le bon répertoire : ```bash sudo grep git_data_dirs /etc/gitlab/gitlab.rb ``` - [ ] Si nécessaire, modifier `/etc/gitlab/gitlab.rb` : ```ruby git_data_dirs({ "default" => { "path" => "/var/data/git/repositories" } }) ``` - [ ] Reconfigurer : `sudo gitlab-ctl reconfigure` - [ ] Redémarrer : `sudo gitlab-ctl restart` ## Import du dépôt existant - [ ] Se connecter à GitLab - [ ] Cliquer sur "New project" ou "+" > "New project" - [ ] Choisir "Import project" - [ ] Sélectionner "Repository by URL" - [ ] Entrer l'URL : `file:///var/data/git/repositories/config-files-keyvault.git` - [ ] Remplir les informations du projet - [ ] Cliquer sur "Import project" - [ ] Vérifier que le dépôt est importé correctement ## Configuration Apache (Optionnel mais recommandé) - [ ] Installer Apache si pas déjà installé : `sudo apt install apache2` - [ ] Activer les modules nécessaires : ```bash sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod headers sudo a2enmod ssl ``` - [ ] Copier `apache-config.conf` vers `/etc/apache2/sites-available/gitlab.conf` - [ ] Adapter le `ServerName` dans la config - [ ] Adapter le `ProxyPass` si GitLab est sur un autre port - [ ] Activer le site : `sudo a2ensite gitlab.conf` - [ ] Désactiver le site par défaut si nécessaire : `sudo a2dissite 000-default.conf` - [ ] Tester la config : `sudo apache2ctl configtest` - [ ] Recharger Apache : `sudo systemctl reload apache2` ## Configuration SSL (Optionnel mais recommandé) - [ ] Installer certbot : `sudo apt install certbot python3-certbot-apache` - [ ] Obtenir le certificat : `sudo certbot --apache -d chillka.example.com` - [ ] Vérifier le renouvellement automatique : `sudo certbot renew --dry-run` - [ ] Configurer GitLab pour utiliser HTTPS dans `/etc/gitlab/gitlab.rb` : ```ruby external_url 'https://chillka.example.com' ``` - [ ] Reconfigurer : `sudo gitlab-ctl reconfigure` ## Mise à jour du remote local - [ ] Sur la machine Windows, mettre à jour le remote : ```bash # Avec HTTPS git remote set-url origin http://chillka/root/config-files-keyvault.git # OU avec SSH (recommandé) git remote set-url origin git@chillka:root/config-files-keyvault.git ``` - [ ] Tester le push : `git push origin main` - [ ] Vérifier que le push apparaît dans l'interface GitLab ## Vérifications finales - [ ] Accéder à l'interface web GitLab - [ ] Voir les commits dans l'interface - [ ] Voir les fichiers du dépôt - [ ] Voir l'historique des commits - [ ] Tester un push depuis la machine locale - [ ] Vérifier que les logs sont visibles - [ ] Tester la création d'une issue (optionnel) - [ ] Tester la création d'un merge request (optionnel) ## Configuration avancée (Optionnel) - [ ] Configurer les notifications par email - [ ] Configurer les intégrations CI/CD - [ ] Configurer les webhooks - [ ] Configurer les runners GitLab CI (si nécessaire) - [ ] Configurer les sauvegardes automatiques ## Maintenance - [ ] Configurer les sauvegardes régulières : ```bash # Ajouter dans crontab 0 2 * * * /opt/gitlab/bin/gitlab-backup create ``` - [ ] Surveiller l'espace disque : `df -h` - [ ] Surveiller l'utilisation mémoire : `free -h` - [ ] Mettre à jour GitLab régulièrement : ```bash sudo apt update sudo apt upgrade gitlab-ce sudo gitlab-ctl reconfigure ``` - [ ] Vérifier la santé du système : `sudo gitlab-rake gitlab:check` ## Réduction de l'utilisation mémoire (si nécessaire) Si GitLab utilise trop de mémoire : - [ ] Éditer `/etc/gitlab/gitlab.rb` - [ ] Ajouter/modifier : ```ruby puma['worker_processes'] = 2 sidekiq['max_concurrency'] = 5 postgresql['shared_buffers'] = "256MB" postgresql['max_connections'] = 50 ``` - [ ] Reconfigurer : `sudo gitlab-ctl reconfigure` - [ ] Redémarrer : `sudo gitlab-ctl restart` - [ ] Vérifier l'utilisation mémoire : `free -h`