Prérequis
- Un serveur Linux (Debian, Ubuntu)
- Docker et Docker Compose installés
- Nom de domaine (ex : gitlab.example.com) pointant vers le serveur
- Ports 80, 443 et 22 ouverts
Déploiement de GitLab CE
1. Créer le fichier docker-compose.yml
services:
web:
image: gitlab/gitlab-ce:latest
restart: always
hostname: 'gitlab.example.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://gitlab.example.com'
gitlab_rails['gitlab_shell_ssh_port'] = 22
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- gitlab-config:/etc/gitlab
- gitlab-logs:/var/log/gitlab
- gitlab-data:/var/opt/gitlab
volumes:
gitlab-config:
gitlab-logs:
gitlab-data:
2. Lancer GitLab
docker compose up -d
Attendez quelques minutes que GitLab soit accessible sur https://gitlab.example.com.
Configuration initiale
- Changez le mot de passe
root - Configurez les runners partagés (GitLab Runner)
- Ajoutez vos projets et invitez vos équipes
Planification des sauvegardes
1. Créer le script de sauvegarde /root/gitlab_backup.sh
#!/bin/bash
TIMESTAMP=$(date +'%Y%m%d_%H%M%S')
docker exec gitlab gitlab-backup create STRATEGY=copy
docker cp gitlab:/var/opt/gitlab/backups/* /backup/gitlab/$TIMESTAMP/
find /backup/gitlab/ -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \;
Rendez-le exécutable :
chmod +x /root/gitlab_backup.sh
2. Créer une tâche cron
0 3 * * * /root/gitlab_backup.sh >> /var/log/gitlab_backup.log 2>&1
Pour une gestion complète de la planification, consultez notre guide cron et crontab et découvrez les systemd timers avancés comme alternative moderne.
Pour une gestion des logs de sauvegarde, consultez notre guide complet sur les logs Linux.
Restauration
# Choisir une sauvegarde
export BACKUP=1654320000_2025_07_26_03_00_00
docker exec gitlab gitlab-backup restore BACKUP=$BACKUP
Bonnes pratiques
- Sécuriser l’accès HTTPS (Let's Encrypt ou certif. personnalisés)
- Surveiller l’état du conteneur (Healthcheck)
- Monitorer les metrics via Prometheus exporter
- Stocker les backups sur un stockage externe (S3, NFS)
- Mettre à jour l’image régulièrement
Conclusion
Avec Docker Compose, déployez rapidement GitLab CE en auto‑hébergement et assurez une continuité de service grâce à des sauvegardes automatisées.


