Deckhouse Code работает в одном контейнере с тем же omnibus-пакетом, что и при установке пакетом для ОС Linux. Хост предоставляет Docker Engine, ресурсы одного инстанса, каталоги под тома и сетевые порты.

Хост

Контейнер запускается на хосте с ОС Linux, архитектурой x86_64 и Docker Engine.

Требования к памяти и диску совпадают с установкой пакетом для ОС Linux и перечислены в разделе «Требования»: 8 ГБ RAM (минимум 6 ГБ и swap) и не менее 20 ГБ свободного места под данные инстанса. Образ занимает на хосте ещё 2,5–3 ГБ.

Тома

Образ объявляет тома для конфигурации, данных и логов. Подключите их все: в них хранится состояние, которое переживает контейнер, — при обновлении контейнер пересоздаётся, а тома остаются.

Путь в контейнереСодержимое
/etc/gitlabФайл конфигурации gitlab.rb, ключи шифрования gitlab-secrets.json, TLS-сертификаты, ключи хоста SSH, файл с первоначальным паролем root.
/var/opt/gitlabРепозитории, база данных, загруженные файлы, артефакты CI, реестр пакетов, архивы резервных копий в /var/opt/gitlab/backups.
/var/log/gitlabЛоги всех сервисов и лог каждого запуска настройки в /var/log/gitlab/reconfigure.

В примерах на этих страницах тома — это каталоги хоста: /srv/code/config, /srv/code/data и /srv/code/logs.

Сетевые порты

Опубликованные порты обслуживают трафик Git по SSH, HTTP и HTTPS.

ПортНазначение
22Git по SSH. В контейнере работает собственный sshd, который принимает пользователя git и аутентификацию по открытому ключу.
80Веб-интерфейс и Git по HTTP, после настройки TLS — перенаправление на HTTPS.
443Веб-интерфейс и Git по HTTPS.

Порты публикуются при создании контейнера. Порт хоста может отличаться от порта контейнера: тогда в адресе инстанса указывают порт хоста, который открывают пользователи, а порт SSH, отличный от 22, указывают в конфигурации, как описано на странице «Настройка после установки».

Разделяемая память

Создавайте контейнер с параметром --shm-size 256m. По умолчанию Docker выделяет под /dev/shm 64 МБ.

Дополнительные ресурсы