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

Совместная установка Application Manager и Workspace

Warning

На текущий момент данный способ гарантированно будет работать до следующего обновления application manager'а. Если при обновлении установщик полностью заменит 10.docker-compose-nginx.yml его потребуется поправить повторно и проверить каталоги с шаблонами и .env файл

Предварительная подготовка к настройке совместной работы

Первым делом требуется выполнить шаги для предварительной установки софта. Для application Manager нам требуется установленный docker. Для работы воркспейса требуется lxc

Docker ставим по аналогии с логин центром.

По для работы воркспейса ставим по этой инструкции для воркспейса.

При необходимости выполняем перенос директорий Docker и LXC на раздел для установки OM

Далее ставим Application Manager и выполняем его присоединение к логин центру.

Настройка Application Manager

Имеем рабочий Application Manager соединенный с логин центром стоящим на другом сервере. Для совместной работы с воркспейсом требуется выполнить настройку docker контейнера nginx в качестве прокси сервера для запросов к воркспейсу.

Настройка Reverse Proxy для Воркспейса.

Нам необходимо залить на сервер шаблоны nginx в папку внутри каталога application manager'а data/nginx/templates

ws80.conf.template
server {
    listen 80;
    server_name ${NGINX_WORKSPACE_HOST};

    return 301 https://${NGINX_WORKSPACE_HOST}$request_uri;
}
ws443.conf.template
server {
    listen 443 ssl;

    server_name ${NGINX_WORKSPACE_HOST};

    ssl_certificate /etc/nginx/ssl/workspace1/bundle.crt;
    ssl_certificate_key /etc/nginx/ssl/workspace1/crt.key;

    client_max_body_size 1G;

    location / {
        proxy_pass ${NGINX_WORKSPACE_PROXY_URL};
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto https;
        proxy_pass_request_headers on;
        proxy_connect_timeout       30;
        proxy_send_timeout          600;
        proxy_read_timeout          10800;
        send_timeout                600;

        # Web Socket Support
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Установка сертификатов

Нужно добавить сертификат в data/nginx/cert/workspace1/bundle.crt и его ключ в data/nginx/cert/workspace1/crt.key

Info

Имя сертификата и ключа не следует менять так как они жестко прописаны в шаблонах nginx

Переменные окружения

Внутри каталога application manager'а требуется внести переменные окружения для работы воркспейса. В файл .env дописываем следующие переменные:

WORKSPACE_HOSTNAME=ws.optimacros.com
WORKSPACE_PROXY_URL=http://10.0.3.15

Правка docker-compose файла

В каталоге application manager'а вносим переменные окружения для работы nginx docker контейнера. Открываем файл 10.docker-compose-nginx.yml и вносим переменные в разделе environment В итоге этот раздел примет такой вид

...
    environment:
      NGINX_HOST: "${HOSTNAME}"
      BACKEND_SERVER_URI: "am-runner:18788"
      WEB_FRONTEND_SERVER_URI: "am-webui:18789"
      NGINX_WORKSPACE_HOST: "${WORKSPACE_HOSTNAME}"
      NGINX_WORKSPACE_PROXY_URL: "${WORKSPACE_PROXY_URL}"

...
Здесь указывается соответствие между переменными указанными в .env файле и переменными которые используются в файлах nginx шаблонов ws80.conf.template и ws443.conf.template

Применение конфигурации

Для применения сделанных изменений требуется выполнить перезапуск application manager'а. Выполняем команды

./stop.sh
./start.sh

Установка воркспейса

Далее выполняем установку воркспейса по инструкции ниже с учетом пары замечаний.

  1. В файле manifest.json не должно быть настроек для проброса портов с 80го и 443го порта хоста. Они заняты работающим application manager'ом, а он в свою очередь перенаправляет запросы к lxc контейнеру по ip адресу указанному в .env файле
  2. В файле manifest.json не должно быть секции web.ssl в параметрах workspace. SSL соединение так же работает через application manager