Главная/Разработка/GitLab
Установка GitLab на свой сервер
Установка GitLab на свой сервер занимает один compose-файл, но сам GitLab тяжёлый: документация называет минимумом для одного сервера 8 vCPU и 16 ГБ памяти. Зато вы получаете Git, задачи, ревью кода, CI/CD и реестр образов в одной программе на собственном железе.
Ответ за 30 секунд
GitLab на одном сервере просит 8 vCPU и 16 ГБ памяти, в режиме экономии памяти хватает 8 ГБ. Ставьте образ gitlab-ce через Docker Compose, вынесите Git по SSH на порт 2424 и храните копию каталога /etc/gitlab отдельно от архива данных: без файла gitlab-secrets.json зашифрованные поля из архива не прочитать.
Маркетплейс создаёт сервер с уже установленным GitLab, образ и compose-файл писать не нужно.
Сколько ресурсов нужно, чтобы установить GitLab на VPS16 ГБпамяти по документации GitLab
2424порт SSH вместо занятого 22
6 103установок из маркетплейса на 14.10
01 · 1 мин
Что входит в GitLab и когда он нужен вместо Gitea#
GitLab это единая платформа разработки: репозитории Git, запросы на слияние, задачи, CI/CD-пайплайны, реестр контейнеров и пакетов, окружения, сканирование кода. Бесплатная редакция называется Community Edition (образ gitlab-ce), платная Enterprise (gitlab-ee) добавляет функции для больших компаний.
Платформа оправдана, когда вся цепочка от задачи до выкладки должна жить в одном месте. Если нужен только Git с веб-интерфейсом для небольшой группы, хватит лёгкого Gitea: он работает на сервере в разы меньше. Общее сравнение пяти Git-серверов: self hosted Git.
Инструмент · 1 мин
Сколько ресурсов нужно, чтобы установить GitLab на VPS#
| Параметр | Значение по документации |
|---|---|
| Процессор | 8 vCPU на одном сервере; серверы с «burstable»-процессором, то есть с плавающей долей ядра, не рекомендуются |
| Память | 16 ГБ; в режиме экономии памяти от 8 ГБ |
| Диск | 40 ГБ под приложение, плюс место под все репозитории, плюс 5-12 ГБ под PostgreSQL; нужен SSD, сетевые диски вроде NFS не советуют |
| База данных | только PostgreSQL, в образе она уже есть |
| Подкачка | по возможности отключить: под нагрузкой своп сильно замедляет GitLab |
| Порты | 80 и 443 для веб-интерфейса, 22 для Git по SSH |
Старшая готовая конфигурация Таймвеб Клауд (8 vCPU, 16 ГБ, 160 ГБ NVMe, MSK Ultra 160) совпадает с официальной базой и стоит 20 040 ₽ в месяц на 14 октября 2026. Для команды из нескольких человек берут 4 ядра и 8 ГБ с экономным режимом, но это ниже официальных цифр, и с ростом числа сборок сервер придётся менять.
Какой сервер взять под GitLab
Три ответа, и калькулятор подберёт готовую конфигурацию
03 · 1 мин
Установка GitLab в Docker на Ubuntu по шагам#
- Поставьте Docker с плагином Compose. На чистой Ubuntu подойдёт официальный скрипт
curl -fsSL https://get.docker.com | sh. - Освободите SSH для Git. На хосте порт 22 занят системным sshd, поэтому GitLab получает порт 2424 снаружи и 22 внутри контейнера.
- Создайте каталог и файл
docker-compose.ymlс содержимым ниже. Укажите свой домен: GitLab сам запросит сертификат Let's Encrypt, если адрес начинается с https и порты 80 и 443 открыты. - Запустите
docker compose up -dи подождите несколько минут: первый старт долгий, а до его конца веб-интерфейс отвечает ошибкой 502. Ход виден вdocker logs -f gitlab. - Возьмите пароль root командой
docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password. Файл удаляется сам через сутки после первого запуска, так что смените пароль сразу.
services:
gitlab:
image: gitlab/gitlab-ce:latest
container_name: gitlab
restart: always
hostname: gitlab.example.com
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://gitlab.example.com'
gitlab_rails['gitlab_shell_ssh_port'] = 2424
ports:
- '80:80'
- '443:443'
- '2424:22'
volumes:
- ./config:/etc/gitlab
- ./logs:/var/log/gitlab
- ./data:/var/opt/gitlab
shm_size: '256m'
Три каталога содержат всё состояние: настройки с ключами, журналы и данные. Тег latest годится для пробы, а для рабочего сервера замените его на номер версии с Docker Hub, чтобы обновления происходили только когда вы решите.
04 · 1 мин
Домен, HTTPS и SSH для GitLab на своём сервере#
Направьте A-запись, например gitlab.example.com, на IP сервера до первого запуска: иначе Let's Encrypt откажет в сертификате, а GitLab будет пытаться выпустить его снова.
Если на сервере уже стоит обратный прокси, то есть программа, принимающая HTTPS и передающая запросы приложениям, отдайте ему сертификаты. Тогда в настройках GitLab отключают встроенный HTTPS и слушают порт 80 внутри сети, а снаружи работают Caddy, Traefik или Nginx. Адрес в external_url при этом остаётся с https.
В интерфейсе GitLab покажет адреса для клонирования уже с портом 2424. Для старых клиентов можно добавить запись в ~/.ssh/config, чтобы не печатать порт каждый раз.
05 · 1 мин
Резервные копии и обновление GitLab в Docker#
Архив данных делает команда docker exec -t gitlab gitlab-backup create, файл попадает в data/backups. В архив не входят настройки, поэтому каталог config с файлами gitlab.rb и gitlab-secrets.json копируйте отдельно: в secrets лежит ключ шифрования, без него переменные CI и данные двухфакторной защиты не восстановить.
Ночной запуск ставят в cron с параметром CRON=1, а копии выносят с сервера: схема в разборе сервер для бэкапов. Восстановить архив можно только в ту же версию GitLab.
Версии нельзя перепрыгивать
Между крупными версиями GitLab есть обязательные остановки на пути обновления. Перед обновлением откройте upgrade path на сайте документации, сделайте архив и снимок сервера, затем меняйте тег образа и выполняйте docker compose up -d. Миграции базы идут при старте и могут занять десятки минут.
После запуска проверьте в разделе Admin, Settings, General, кто может регистрироваться сам, и настройте SMTP, иначе письма о сбросе пароля и уведомления не уйдут. Раннеры для сборок ставятся отдельно: установка GitLab Runner.
06 · 1 мин
Вопросы об установке GitLab#
Сколько оперативной памяти нужно, чтобы установить GitLab?
Документация GitLab называет минимумом 16 ГБ для одного сервера, а для режима с экономией памяти 8 ГБ. Подкачку советуют отключить или дать столько памяти, чтобы до неё не доходило.
Как развернуть GitLab на сервере в Docker?
Поставить Docker, описать образ gitlab/gitlab-ce в compose-файле с тремя томами (config, logs, data), открыть порты 80, 443 и вынести SSH на 2424, затем выполнить docker compose up -d и дождаться конца первого старта.
Где взять пароль root после установки GitLab?
В файле /etc/gitlab/initial_root_password внутри контейнера. Он удаляется автоматически через сутки после первой настройки, поэтому смените пароль сразу.
Можно ли установить GitLab на Windows?
Сервер GitLab ставится на Linux. На Windows его запускают в WSL2 или Docker Desktop только для проб; боевой сервер лучше держать на Linux VPS. Раннер GitLab при этом под Windows работает.
Как обновить GitLab в Docker и не потерять данные?
Сделать архив gitlab-backup и копию каталога config, сменить тег образа по пути обновления из документации и выполнить docker compose up -d. Данные остаются в томах.
Почему этому можно верить
Как мы проверяли
Источники цифр на этой странице: VPS и VDS серверы Таймвеб Клауд, timeweb.cloud/services/vds-vps, проверено 14 октября 2026; Реестр контейнеров Таймвеб Клауд, timeweb.cloud/services/container-registry, проверено 14 октября 2026; Маркетплейс приложений Таймвеб Клауд, timeweb.cloud/marketplace, проверено 14 октября 2026; Документация GitLab: требования к установке, docs.gitlab.com/install/requirements, проверено 15 октября 2026.
Установите приложение без консоли
Маркетплейс ставит готовый образ на новый сервер: Docker, GitLab, Nextcloud, n8n и другие.
- Docker, n8n, OpenClaw, GitLab, Nextcloud
- Ставится при создании сервера
- Почасовая оплата сервера
- Root-доступ остаётся у вас