Установка при помощи установщика
Данный метод предполагает установку из готового установщика, который предоставляется с новыми
релизами проекта. Вы можете загрузить установщик в формате .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- пароль локального аккаунта GrafanaadminRABBITMQ_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:
labforge.crt,labforge.key- сертификаты на CN домена интерфейса платформы (например,labforge.mrtstg.local)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