Installer GitLab CE avec Docker et Docker Compose : guide étape par étape

Si vous avez toujours voulu configurer un serveur GitLab Community Edition (CE) avec Docker et Docker Compose, vous êtes au bon endroit. Ce guide vous accompagnera à travers chaque étape nécessaire pour créer un environnement GitLab efficace et prêt à l’emploi. Mais d’abord, prenons du recul : pourquoi GitLab et Docker forment-ils une combinaison aussi gagnante ?

Pourquoi GitLab et Docker ?

GitLab CE est bien plus qu’une simple plateforme de gestion de code source : il offre des fonctionnalités avancées comme les pipelines CI/CD, la gestion des tickets et les dépôts Git. La Community Edition, gratuite et open source, est idéale pour quiconque souhaite un contrôle total sur ses projets sans coûts supplémentaires.

Ajoutez Docker et Docker Compose à l’équation et vous obtenez une configuration modulaire, facilement réplicable et simple à maintenir. C’est pourquoi cette combinaison est l’une des plus populaires parmi les développeurs et les équipes DevOps.

Ce dont vous avez besoin pour commencer

  • Docker et Docker Compose : si vous ne les avez pas, installez-les avec : sudo apt update && sudo apt install docker.io docker-compose -y
  • Un serveur avec au moins 4 Go de RAM et suffisamment d’espace pour stocker les dépôts et les journaux.
  • Des permissions administrateur pour gérer les fichiers et les conteneurs.

Créer la base : structure des répertoires

mkdir -p /srv/gitlab/{config,logs,data}

Le cœur : docker-compose.yml

nano /srv/gitlab/docker-compose.yml

Insérez le contenu suivant :

version: '3.8'

services:
  gitlab:
    image: gitlab/gitlab-ce:latest
    container_name: gitlab
    restart: always
    hostname: 'gitlab.example.com'
    ports:
      - '80:80'
      - '443:443'
      - '22:22'
    volumes:
      - /srv/gitlab/config:/etc/gitlab
      - /srv/gitlab/logs:/var/log/gitlab
      - /srv/gitlab/data:/var/opt/gitlab
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab.example.com' # Remplacer par votre domaine ou IP

Définir les permissions

sudo chown -R 1000:1000 /srv/gitlab

Démarrer GitLab

cd /srv/gitlab
sudo docker-compose up -d

En quelques minutes votre serveur GitLab sera opérationnel. Accédez-y via le navigateur à http://<IP_serveur> ou http://gitlab.example.com. Lors de la première connexion, vous serez invité à définir le mot de passe administrateur pour l’utilisateur root.

HTTPS : activer la sécurité

  1. Obtenez un certificat SSL (par ex. avec Let’s Encrypt).
  2. Mettez à jour docker-compose.yml en changeant la variable external_url : external_url 'https://gitlab.example.com'
  3. Placez les certificats SSL dans /srv/gitlab/config/ssl/.

Commandes utiles pour gérer le conteneur

  • Démarrer : sudo docker-compose up -d
  • Arrêter : sudo docker-compose down
  • Voir les journaux : sudo docker-compose logs -f
  • Mettre à jour GitLab : sudo docker-compose pull && sudo docker-compose up -d

À vous de jouer

Avec ce guide vous avez tout ce qu’il faut pour configurer un serveur GitLab CE avec Docker et Docker Compose. Vous disposerez d’un système robuste et évolutif, facilement extensible pour répondre aux besoins de votre équipe.