--- title: GitLab created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, development, forge, git, ci-cd, devops] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Development, https://github.com/gitlabhq/gitlabhq] --- # đŸ’» GitLab > **Forge Git complĂšte tout-en-un** : dĂ©pĂŽt Git, CI/CD, registry Docker, wiki, issue tracker, planning, monitoring. La solution DevOps la plus complĂšte en open source. ## 📋 Informations GĂ©nĂ©rales | Champ | Valeur | | :--- | :--- | | **Site web** | [about.gitlab.com](https://about.gitlab.com/) | | **GitHub (mirror)** | [gitlabhq/gitlabhq](https://github.com/gitlabhq/gitlabhq) | | **DĂ©pĂŽt principal** | [gitlab.com/gitlab-org/gitlab](https://gitlab.com/gitlab-org/gitlab) | | **License** | MIT (CE) / PropriĂ©taire (EE) | | **Langage** | Ruby (on Rails) + Go (runners) | | **Étoiles GitHub** | 7 159 ⭐ (mirror) | | **CatĂ©gorie** | [[cat-development\|Development]] | | **Note** | ⚠ **TrĂšs lourd** : ~4-8 Go de RAM minimum, le plus complet de tous les self-hosted (mais aussi le plus gourmand). Édition **Community (CE) vs Enterprise (EE)** : EE a des features avancĂ©es (SAML, audit, compliance) payantes. | ## 📝 Description **GitLab** est une **plateforme DevOps complĂšte** qui couvre **tout le cycle de vie** d'un projet logiciel, en un seul produit : - **Forge Git** : dĂ©pĂŽt, branches, merge requests, code review - **CI/CD** : pipelines (.gitlab-ci.yml), runners Go, registry d'images - **Container Registry** : images Docker, Helm charts, packages - **Issue Tracker** : tickets, boards Kanban, milestones - **Wiki** : documentation par projet - **Monitoring** : Prometheus + Grafana intĂ©grĂ©s (depuis v13) - **Pages** : hĂ©bergement statique (comme GitHub Pages) - **Web IDE** : Ă©dition de fichiers en ligne (VS Code-like) - **SĂ©curitĂ©** : SAST, DAST, dependency scanning (Ultimate) - **Planning** : epics, roadmaps (Ultimate) **Édition Community (CE) — open source, gratuite** : - Forge, CI/CD, registry, wiki, issues, pages - Pas de SAML, pas d'audit logs avancĂ©s, pas de compliance, pas de multi-cluster **Édition Enterprise (EE) — propriĂ©taire, payante** : - SAML SSO, audit events, IP allow-listing - Multi-cluster Kubernetes, deploy boards - Compliance, vulnerability management avancĂ© **Cas d'usage** : - Remplacer GitHub + CI/CD + Docker Hub + Jira + Wiki par **un seul outil self-hosted** - Workflow DevOps complet sans dĂ©pendre du cloud - **Projets open source** : auto-hĂ©berger ses propres projets - **Entreprises** : conformitĂ© RGPD, contrĂŽle total des donnĂ©es **Concurrents directs** : **[[app-forgejo]] / [[app-gitea]]** (lĂ©gers, mono-machine) vs GitLab (lourd, full-featured). ## 🚀 Installation ### Via Docker Compose (mĂ©thode officielle Omnibus-like) ```yaml # docker-compose.yml version: '3.8' services: gitlab: image: gitlab/gitlab-ce:latest container_name: gitlab restart: unless-stopped hostname: gitlab.example.com environment: - GITLAB_OMNIBUS_CONFIG=true shm_size: '256m' ports: - "22:22" # SSH - "80:80" # HTTP - "443:443" # HTTPS volumes: - gitlab-config:/etc/gitlab - gitlab-logs:/var/log/gitlab - gitlab-data:/var/opt/gitlab networks: - proxy volumes: gitlab-config: gitlab-logs: gitlab-data: networks: proxy: external: true ``` ### MĂ©thode recommandĂ©e : Omnibus (bare-metal) ```bash # Sur Ubuntu/Debian curl -L https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash sudo EXTERNAL_URL="https://gitlab.example.com" apt-get install gitlab-ce # Configuration dans /etc/gitlab/gitlab.rb puis : sudo gitlab-ctl reconfigure ``` ⚠ **Ne pas exposer ports 80/443 du conteneur** si reverse proxy en amont — utiliser Traefik/Nginx. ## ⚙ Configuration 1. **Premier accĂšs** : on vous demandera de dĂ©finir un mot de passe pour l'utilisateur `root` 2. **SMTP** : configurer dans `gitlab.rb` (`gitlab_rails['smtp_*']`) 3. **Reverse proxy** : [[traefik]] recommandĂ© avec `nginx['listen_port'] = 8080` dans le conteneur 4. **Backups** : `gitlab-backup create` (cron recommandĂ©) 5. **Runners** : ajouter des runners auto-hĂ©bergĂ©s pour vos pipelines 6. **LDAP/SAML** : SAML = EE, LDAP = CE (config dans `gitlab.rb`) ## 🔗 Alternatives - **[[app-forgejo]]** — Fork communautaire Gitea, plus lĂ©ger, 100% libre - **[[app-gitea]]** — Forge lĂ©gĂšre, n'inclut pas la CI complĂšte (Gitea Actions) - **[[app-woodpecker-ci]] + Forgejo** — Stack lĂ©ger Ă©quivalent Ă  GitLab - **GitHub Enterprise** — ManagĂ©, pas self-hosted - **Gitea + Drone CI** (historique) — Stack lĂ©gĂšre complĂšte - **OneDev** — Concurrent direct, all-in-one en Java ## 🔒 SĂ©curitĂ© - **HTTPS obligatoire** (Traefik ou Let's Encrypt intĂ©grĂ©) - **Auth forte** : 2FA activable par utilisateur - **SAML** : EE uniquement, sinon LDAP/OAuth - **Audit logs** : CE basique, EE avancĂ© - **IP allowlist** : EE uniquement - **Container scanning** : EE uniquement - **Backups** : `gitlab-backup create` (chiffrement supportĂ©) - **Runners non-privilĂ©giĂ©s** : faire tourner les runners en rootless Docker ## 📚 Ressources - [Documentation officielle](https://docs.gitlab.com/) - [GitLab.com (SaaS de rĂ©fĂ©rence)](https://gitlab.com/) - [Comparatif CE vs EE](https://about.gitlab.com/pricing/) - [GitLab CI/CD Examples](https://docs.gitlab.com/ee/ci/examples/) ## 🔗 Pages LiĂ©es - [[cat-development]] — CatĂ©gorie Development - [[app-forgejo]] / [[app-gitea]] — Alternatives plus lĂ©gĂšres - [[app-woodpecker-ci]] — CI/CD externe (si pas GitLab CI) - [[app-traefik]] — Reverse proxy - [[securisation-home-lab]] — Bonnes pratiques - [[recettes-docker-compose]] — Templates Docker