Главная/Разработка/GitLab

Установка GitLab на свой сервер

Установка GitLab на свой сервер занимает один compose-файл, но сам GitLab тяжёлый: документация называет минимумом для одного сервера 8 vCPU и 16 ГБ памяти. Зато вы получаете Git, задачи, ревью кода, CI/CD и реестр образов в одной программе на собственном железе.

5 мин чтенияДанные проверены 16 октября 2026

Ответ за 30 секунд

GitLab на одном сервере просит 8 vCPU и 16 ГБ памяти, в режиме экономии памяти хватает 8 ГБ. Ставьте образ gitlab-ce через Docker Compose, вынесите Git по SSH на порт 2424 и храните копию каталога /etc/gitlab отдельно от архива данных: без файла gitlab-secrets.json зашифрованные поля из архива не прочитать.

Маркетплейс создаёт сервер с уже установленным GitLab, образ и compose-файл писать не нужно.

Сколько ресурсов нужно, чтобы установить GitLab на VPS

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

Три ответа, и калькулятор подберёт готовую конфигурацию

Сколько людей работает в GitLab
Что хранится внутри
Где выполняются сборки

03 · 1 мин

Установка GitLab в Docker на Ubuntu по шагам#

  1. Поставьте Docker с плагином Compose. На чистой Ubuntu подойдёт официальный скрипт curl -fsSL https://get.docker.com | sh.
  2. Освободите SSH для Git. На хосте порт 22 занят системным sshd, поэтому GitLab получает порт 2424 снаружи и 22 внутри контейнера.
  3. Создайте каталог и файл docker-compose.yml с содержимым ниже. Укажите свой домен: GitLab сам запросит сертификат Let's Encrypt, если адрес начинается с https и порты 80 и 443 открыты.
  4. Запустите docker compose up -d и подождите несколько минут: первый старт долгий, а до его конца веб-интерфейс отвечает ошибкой 502. Ход виден в docker logs -f gitlab.
  5. Возьмите пароль 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.

SBРедакция SelfBase · обновлено 16 октября 2026

Установите приложение без консоли

Маркетплейс ставит готовый образ на новый сервер: Docker, GitLab, Nextcloud, n8n и другие.

  • Docker, n8n, OpenClaw, GitLab, Nextcloud
  • Ставится при создании сервера
  • Почасовая оплата сервера
  • Root-доступ остаётся у вас
Ресурсы