Proxmox. Часть 5. Установка Gitlab в виртуальной машине с использованием docker-compose

В 4-ой части мы создали виртуальную машину с ID=200. Воспользуемся ей для установки Gitlab с использованием docker-compose.

Переименуем виртуальную машину в gitlab:

Повысим объем оперативной памяти до 6144 МБ:

Добавим еще одно ядро:

Запустим виртуальную машину и откроем консоль:

Логин и пароль те же, что мы использовали при создании шаблона, на основе которого у нас была клонирована виртуальная машина. Логин — ubuntu, пароль — nickcode.

Установка Docker

Для установки Docker воспользуемся инструкцией https://docs.docker.com/engine/install/ubuntu/ .

Способов установки несколько, но, пожалуй, один из самых удобных — универсальный скрипт установки Docker.

curl https://get.docker.com| sudo bash

После выполнения скрипта проверим, корректно ли установился Docker:

sudo docker run hello-world

“Hello from Docker!” – это значит, что Docker установлен успешно!

После установки Docker важно проделать необходимые настройки ( https://docs.docker.com/engine/install/linux-postinstall/ ).

Добавим нашего пользователя (ubuntu) в группу Docker (делаем это только в познавательных целях. В продуктивных системах так делать не рекомендуется):

sudo usermod -aG docker $USER

Активируем наши изменения командой:

newgrp docker

и еще раз запустим hello-world уже без sudo для проверки возможности запуски docker контейнеров из под нашего текущего пользователя ubuntu:

docker run hello-world

Результат должен быть аналогичен результату, который мы получили при запуске с sudo.

Установка GitLab

Перейдем к установке GitLab при помощи docker-compose. Для этого воспользуемся инструкцией https://docs.gitlab.com/ee/install/docker/installation.html .

Создадим директорию для конфигурационных файлов GitLab — /srv/gitlab:

sudo mkdir -p /srv/gitlab

Добавим полномочия для доступа к папке:

sudo chown -R :docker /srv/gitlab
sudo chmod -R 775 /srv/gitlab

Создадим новую переменную окружения:

export GITLAB_HOME=/srv/gitlab

Проверим:

printenv GITLAB_HOME

Воспользуемся готовым конфигурационным файлом docker-compose.yml:

version: '3.6'
services:
  gitlab:
    image: gitlab/gitlab-ee:<version>-ee.0
    container_name: gitlab
    restart: always
    hostname: 'gitlab.example.com'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        # Add any other gitlab.rb configuration here, each on its own line
        external_url 'https://gitlab.example.com'
    ports:
      - '80:80'
      - '443:443'
      - '22:22'
    volumes:
      - '$GITLAB_HOME/config:/etc/gitlab'
      - '$GITLAB_HOME/logs:/var/log/gitlab'
      - '$GITLAB_HOME/data:/var/opt/gitlab'
    shm_size: '256m'

Перейдем в директорию /srv/gitlab/ и создадим там файл docker-compose.yml, куда вставим содержимое выше:

cd /srv/gitlab/
nano docker-compose.yml

В файле нам надо сделать корректное имя образа. То есть в строке:

gitlab/gitlab-ee:<version>-ee.0

заменить ‘<version>’ на актуальную версию образа GitLab.

Перейдем на страницу https://hub.docker.com/r/gitlab/gitlab-ee/tags/ и посмотрим последнюю версию образа:

Приводим имя образа к виду:

gitlab/gitlab-ee:17.4.6-ee.0

Сохраняем файл и запускаем контейнер:

docker compose up -d

Дожидаемся скачивания образов и запуска контейнера:

Спустя несколько минут поднятия контейнера можем проверить работоспособность GitLab’а:

Попробуем авторизироваться.

Логин – root.

Пароль узнаем командой в терминале:

sudo cat /srv/gitlab/config/initial_root_password

Поздравляю, у нас успешно получилось запустить GitLab на виртуальной машине в Proxmox при помощи Docker!