Установка на Astra Linux (rootless)¶
Предварительные условия¶
На сервере должны быть установлены Docker Engine и Docker Compose для работы в непривилегированном (rootless) режиме. Кроме этого, необходимо создать папку для PostgreSQL.
Установка Docker Engine¶
-
Установите пакет rootless-helper-astra.
sudo apt install rootless-helper-astraПримечание
Если ранее не был установлен пакет docker.io, то он установится автоматически.
-
Включите пользовательские службы Docker для пользователей, которые будут использовать контейнеры Docker в rootless-режиме.
sudo systemctl start rootless-docker@<имя_пользователя>;Требование к именам пользователей
Имя пользователя не должно содержать тире, например, если вы хотели использовать пользователя "docker-user", то необходимо создать другого пользователя с именем "dockeruser".
-
При необходимости, разрешите автоматический запуск этих служб.
sudo systemctl enable rootless-docker@<имя_пользователя>; -
Проверьте работоспособность установленных пакетов, выполнив следующую команду.
rootlessenv docker images
Установка Docker Compose¶
-
Выполните следующую команду.
mkdir -p ~/.docker/cli-plugins/ curl -SL https://github.com/docker/compose/releases/download/v2.24.1/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose chmod +x ~/.docker/cli-plugins/docker-compose # Создадим симлинк в /usr/local/bin sudo ln -sf ~/.docker/cli-plugins/docker-compose /usr/local/bin/docker-compose -
Проверьте пакет.
rootlessenv docker-compose version
Создание папки для PostgreSQL¶
-
Создайте директорию, выполнив следующую команду.
mkdir -p ./postgresql/data -
Определите UID и GID для папки data.
export REMAP_UID=$(cat /etc/subuid | grep -i $USER | awk -F : '{print $2}') export REMAP_GID=$(cat /etc/subgid | grep -i $USER | awk -F : '{print $2}') export UID_70=$((${REMAP_UID}+69)) export GID_70=$((${REMAP_GID}+69)) sudo chown ${UID_70}:${GID_70} -R ./postgresql/data
Настройка расположения томов¶
Создайте директории, выполнив следующую команду.
mkdir -p ./gitlab/data ./gitlab/logs ./gitlab/config/etc ./gitlab/config/ssl
Для хранения постоянных данных Система использует монтируемые на хост тома:
| Локальный путь | Расположение контейнера | Назначение |
|---|---|---|
./gitlab/data |
/var/opt/gitlab |
Хранение данных приложения |
./gitlab/logs |
/var/log/gitlab |
Хранение логов |
./gitlab/config/etc |
/etc/gitlab |
Хранение конфигурационных файлов Системы |
./gitlab/config/ssl |
/etc/gitlab/ssl |
Хранение SSL сертификатов |
Настройка уровня безопасности rootless Astra (актуально для Astra 1.8.2)¶
-
Выполните команду, заменив sshuser на имя вашего пользователя.
LABEL_DIR=$(ls -d /var/lib/rootlessdocker/sshuser/l*i*c*t*x* 2>/dev/null | head -1) && \ mkdir -p "${LABEL_DIR}/.config/docker" && \ cat > "${LABEL_DIR}/.config/docker/daemon.json" << 'EOF' { "astra-sec-level": 6 } EOF -
Добавьте параметр в sysctl.conf.
sudo sh -c 'echo "net.ipv4.ip_unprivileged_port_start=1" >> /etc/sysctl.conf' -
Примените изменения.
sudo sysctl -p /etc/sysctl.conf -
Перезапустите rootless Docker.
sudo pkill -f "dockerd.*sshuser" && sleep 2 && sudo /usr/share/rootless-helper-astra/start-rootless-dockerd.sh sshuser