Перейти к содержанию

Установка при помощи установщика

Данный метод предполагает установку из готового установщика, который предоставляется с новыми релизами проекта. Вы можете загрузить установщик в формате .tar.gz архива на странице релизов проекта.

Загрузите интересующую вас версию, создайте произвольную директорию на конечном сервере, на который ведется установка и поместите туда установщик. Распакуйте его при помощи команды:

Примечание

В зависимости от директории, у вас может не хватить прав. Используйте sudo или можете выполнить установку от лица root.

tar xzvf labforge.tar.gz -C <целевая директория>

Перейдите в директорию, загрузите образы в Docker:

make restore-images

После, можете зачистить директорию images для освобождения занятого места. Создайте копию файла docker-sample.env:

cp docker-sample.env docker.env

В файле docker.env установите следующие параметры:

  • KC_HOSTNAME - укажите будущую ссылку на Keycloak (например, https://auth.mrtstg.local)
  • FRONTEND_HOSTNAME - укажите будущую ссылку на UI системы (например, https://labforge.mrtstg.local). Также запишите домен без протокола в поле FRONTEND_DOMAIN (например, labforge.mrtstg.local)
  • KC_BOOTSTRAP_ADMIN_USERNAME и KC_BOOTSTRAP_ADMIN_PASSWORD - логин и пароль аккаунта администратора Keycloak , который создается при запуске. После, может быть удален.
  • GRAFANA_ADMIN_PASSWORD - пароль локального аккаунта Grafana admin
  • RABBITMQ_DEFAULT_PASS - пароль от пользователя RabbitMQ

После замены параметров, потребуется изменить конфигурации под домены и развернуть стартовый набор сервисов, в который входит база данных и Keycloak

make replace-nginx
make deploy-prod-minimal

По готовности сервиса, запустим процесс генерации системных ролей.

Как определить готовность?

При запуске команды docker ps видны три контейнера, а при команде docker logs --tail 100 keycloak в выводе есть строчка "Running the server..."

make fill-keycloak

В случае успеха, будет создан файл .clients.json. Дальше, нужно вставить данные в конфигурации каждого сервиса. Для выполнения команды требуется наличие jq в системе!

make fill-envs

В случае успеха на каждый *-sample.env файл (кроме docker-sample.env) должен создасться файл без постфикса -sample. В случае если вы планируете использовать нестандартную SDN зону (по умолчанию, default), потребуется в файле jobservice.env изменить значение поля DEPLOY_SDN_ZONE. В этой зоне Labforge будет создавать сети для подключения виртуальных машин друг к другу

Также потребуется заполнить часть значений в файле websockify.env:

Значение Комментарий Пример
PROXMOX_API_URL URL для доступа к API Proxmox, без /api2/json https://192.168.1.101:8006
PROXMOX_API_TOKEN Токен для открытия websocket-сессий. Пользователь должен обладать как минимум VM.Console PVEAPIToken=root@pam!token=0636f001-07d4-4423-a8c9-8c58261c747a
PROXMOX_CA_FILE Путь к сертификату. По умолчанию точки проброса в контейнер нет. Значение может быть пустым. ./rootCA.pem
PROXMOX_INSECURE_SKIP_VERIFY Переключает верификацию сертификата Proxmox. Имеет значение true/false true

После, потребуется поместить сертификаты на указанные Вами ранее имена в директорию deployment/nginx/ssl-prod:

  1. labforge.crt, labforge.key - сертификаты на CN домена интерфейса платформы (например, labforge.mrtstg.local)
  2. keycloak.crt, keycloak.key - сертификаты на CN домена системы авторизации Keycloak (например, auth.mrtstg.local)

При отсутствии собственного CA, возможно сгенерировать самоподписанный CA при помощи системного openssl и выпустить сертификаты для nginx:

make build-ca

И запустить все сервисы:

make deploy-prod
make copy-nginx-prod
docker restart labforge-nginx

Проверьте доступы к выбранным доменам, открывается ли интерфейсс и активны ли все контейнеры. Установка завершена, теперь требуется настроить систему.

Я что-то изменил в конфигурационных файлах, что делать?

Выполните еще раз make deploy-prod. И через некоторое время рекомендуется перезапустить nginx - docker restart labforge-nginx