
GitLab Community Edition — це повноцінна self-hosted DevOps-платформа: Git, CI/CD, issue-трекер та управління проєктами в одному пакеті. У цій статті розглянемо, як встановити GitLab CE на VPS на Debian, Ubuntu та AlmaLinux.
Що таке GitLab CE
GitLab Community Edition — це повноцінна self-hosted DevOps-платформа: Git-репозиторії, CI/CD-пайплайни, реєстр контейнерів, issue-трекер, вікі та управління проєктами — все в одному пакеті. На відміну від легших альтернатив (Gitea, Forgejo), GitLab CE закриває практично весь життєвий цикл розробки без потреби підключати сторонні сервіси, але й вимагає суттєво більше ресурсів сервера.
Що вміє GitLab
- Git-репозиторії з повним UI — merge requests, code review, захищені гілки.
- Вбудований CI/CD — пайплайни описуються прямо в
.gitlab-ci.yml, без стороннього Jenkins чи іншого інструмента. - Container Registry — вбудоване сховище Docker-образів.
- Issue-трекер та дошки задач — kanban-дошки, епіки, milestone.
- Вікі проєкту — документація поряд з кодом.
- Runners — власні виконавці для CI/CD-завдань, які можна розгорнути на цьому ж або на окремих серверах.
Скільки ресурсів реально потрібно
Що має бути готово заздалегідь
- VPS з Debian 12/13, Ubuntu 22.04/24.04 або AlmaLinux 8/9, мінімум 8 ГБ RAM
- Доступ sudo або root
- Зареєстрований домен з DNS A-записом, спрямованим на IP сервера (потрібен для Let’s Encrypt)
- Доступ до вихідного порту 25 або зовнішній SMTP-сервер для сповіщень
Встановлення GitLab CE на Debian та Ubuntu
Крок 1. Базові залежності
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl openssh-server ca-certificates tzdata perl
Крок 2. Пошта для сповіщень (опційно, але рекомендовано)
sudo apt install -y postfix
При встановленні оберіть варіант “Internet Site” та вкажіть FQDN сервера. Якщо плануєте використовувати зовнішній SMTP (Gmail, SendGrid тощо) — цей крок можна пропустити й налаштувати SMTP пізніше прямо в GitLab.
Крок 3. Підключення офіційного репозиторію та встановлення
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo EXTERNAL_URL="https://ваш-домен.com" apt install -y gitlab-ce
Змінна EXTERNAL_URL обов’язково вказується до встановлення пакета — саме на її основі GitLab одразу налаштує Nginx і спробує випустити SSL-сертифікат через Let’s Encrypt.
Встановлення GitLab CE на AlmaLinux
Крок 1. Базові залежності
sudo dnf update -y
sudo dnf install -y curl policycoreutils-python-utils openssh-server perl postfix
sudo dnf remove -y httpd
sudo systemctl enable --now sshd postfix
Крок 2. Підключення офіційного репозиторію та встановлення
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="https://ваш-домен.com" dnf install -y gitlab-ce
sudo ausearch -m avc -ts recent.Перше налаштування
Пакет GitLab CE (він же Omnibus GitLab) сам встановлює й налаштовує PostgreSQL, Redis, Nginx та всі інші компоненти. Після завершення встановлення застосуйте конфігурацію:
sudo gitlab-ctl reconfigure
Процес займає кілька хвилин при першому запуску. Відкрийте у браузері вказаний домен:
https://ваш-домен.com
Якщо всі попередні кроки були виконані вірно, Ви отримаєте вікно входу в GitLab:

Отримання пароля адміністратора
Тимчасовий пароль облікового запису root GitLab генерує автоматично й зберігає у файлі, який видаляється через 24 години після встановлення:
sudo cat /etc/gitlab/initial_root_password
Резервне копіювання
sudo gitlab-backup create STRATEGY=copy
Бекап не включає файли /etc/gitlab/gitlab.rb та /etc/gitlab/gitlab-secrets.json — саме в них зберігаються ключі шифрування й конфігурація. Їх треба копіювати окремо:
sudo cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab-secrets.json /var/opt/gitlab/backups/
Для автоматичних щоденних бекапів додайте завдання в cron:
echo "0 2 * * * /opt/gitlab/bin/gitlab-backup create STRATEGY=copy CRON=1" | sudo tee /etc/cron.d/gitlab-backup
Оскільки GitLab одночасно тримає в пам’яті кілька важких сервісів і активно пише в базу даних при кожному пуші чи запуску CI/CD-пайплайну — варто одразу закладатись на VPS з NVMe/SSD накопичувачами та достатнім запасом RAM, інакше швидкість роботи PostgreSQL і Gitaly під навантаженням помітно просяде.
