Установка сервиса FACT-R

Начиная с релиза 505.3 появилась возможность установки Вэб приложения FACT-R в качестве сервиса PLAN-R On-Premise.

Возможны следующие варианты установки:

Внимание! Сервис FACT-R конфигурируется с помощью следующих переменных среды.

Внимание! При использовании сервиса, необходимо указать в переменной среды COMPOSE_PROFILES=all, factr профиль factr.

Установка с общим доменом

Для установки FACT-R, на одном домене с сервисами PLAN-R, необходимо выполнить активацию сервиса. Для этого в файле .env переменной FACTR_ENABLED должно быть присвоено значение true, а также добавить профиль factr в переменную COMPOSE_PROFILES. В итоге, отредактированный .env примет вид:

register image.env файл. активация FACT-R

Далее, необходимо выполнить запуск системы командой ./start.sh. Сам сервис будет доступен по адресу http(s)://FQDN/factr

register imageстраница авторизации FACT-R

Установка на отдельном домене

По умолчанию FACT-R, устанавливаемый вместе с сервисами PLAN-R, доступен по адресу http://fqdn/factr, но так же существует возможность настроить доступ к сервису по отдельному доменному имени. Для этого в файле .env, нужно в переменной среды FACTR_SYSTEM_SITE задать нужное доменное имя. Так же, должна быть активирована переменная FACTR_ENABLED=true и указан профиль planr в переменной среды COMPOSE_PROFILES=all,factr.

Внимание! В случае, доступа к сервису FACT-R по доменному имени убедитесь, что создана необходимая DNS-запись на вашем DNS сервере.

register image.env файл. доменное имя FACT-R

register imageокно авторизации. доменное имя FACT-R

Установка FACT-R как отдельного сервиса с использованием внешнего веб-сервера Nginx

Для установки **FACT-R** как отдельного сервиса с использованием внешнего веб-сервера **Nginx**, необходимо:

  • либо, скачать актуальный образ FACT-R из сети, командой:
docker pull registry.dppm.pro/releases/planr/factr:xxx.x
  • распаковать FACT-R из архива c дистрибутивом planr_XXX.X командой:
unzip /path_to_distr/planr_xxx.x "images/factr.tar" -d ./

перейти в директорию /path_to_distr/images распакованного дистрибутива и загрузить в docker образ из архива factr.tar

docker load -i factr.tar
  • установить NGINX и выпустить SSL сертификаты для сервиса FACT-R
  • создать файл конфигурации factr.conf в директории /etc/nginx/conf.d

Конфигурация Nginx

# редирект с 80 порта на 443
server {

    server_name fact-test.org; # замените на свое значение, либо используйте _ для прослушивания всех хостов
    listen 80;
    return 404;
}

# основной сервер
server {

    server_name fact-test.org; # замените на свое значение, либо используйте _ для прослушивания всех хостов

    listen 443 ssl;
    # секция с параметрами ssl
    ssl_session_cache shared:le_nginx_SSL:10m;
    ssl_session_timeout 1440m;
    ssl_session_tickets off;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers off;

    ssl_certificate /etc/ssl/factr.crt; # укажите путь к своим сертификатам
    ssl_certificate_key /etc/ssl/factr.key; # укажите путь к закрытому ключу

    location / {
        proxy_set_header        Host                    $http_host;
        proxy_set_header        X-Real-IP               $remote_addr;
        proxy_set_header        X-Forwarded-For         $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto       https;
        proxy_buffering off;
        chunked_transfer_encoding off;
        proxy_set_header        X-Forwarded-Ssl   on;
        proxy_pass http://localhost:8080; # замените на используемый контейнером порт
    }

}

  • выполнить перезапуск NGINX, после добавления сертификатов и файла конфигурации factr.conf
  • запустить контейнер FACT-R следующей командой:
# - p (8080 - любой доступный порт на который будет проксироваться весь внешний трафик с NGINX)
docker run -p 8080:80 --restart always -d factr:latest

Настройка доступа к удалённому серверу PLAN-R

В окне авторизации, значение в поле URL можно заменить на fqdn сервера с PLAN-R к которому необходимо подключиться.

register image

Так же, в файле .env можно установить значение переменной среды PLANR_URL на адрес или FQDN сервера PLAN-R к которому, необходимо выполнить подключение.

register image

Настройка доступа к FACT-R по HTTPS

Что бы настроить доступ к сервису по защищённому протоколу HTTPS с помощью SSL сертификатов, необходимо присвоить переменной среды PROXY_SSL_ENABLED значение true. Так же, переменные PROXY_CERT_PATH и FACTR_CERT_PATH должны содержать абсолютный или относительный путь к файлам сертификатов, выданных вашим удостоверяющим центром. Файл сертификата должен быть в формате .pem и содержать сертификат объекта, закрытый ключ и образовывать полную цепочку доверия.

register image.env файл. сертификат FACT-R

Подробнее с настройкой доступа к сервисам по HTTPS, можно ознакомиться в разделе «Настройка прокси»

Установка FACT-R как отдельного сервиса с использованием внешнего веб-сервера NGINX в режиме reverse proxy

  • для установки FACT-R как отдельного сервиса с использованием внешнего веб-сервера Nginx в режиме reverse proxy, необходимо выполнить следующий пункт документации
  • установить NGINX и выпустить SSL сертификаты для сервиса FACT-R
  • создать файл конфигурации factr.conf в директории /etc/nginx/conf.d

Конфигурация Nginx reverse proxy

# редирект с 80 порта на 443
server {

    server_name factr-reverse-proxy.dppm.ru; # замените на свое значение, либо используйте server_name _ для прослушивания всех хостов
    listen 80;
    return 301 https://$server_name$request_uri;
}

# основной сервер
server {

    server_name factr-reverse-proxy.dppm.ru; # замените на свое значение, либо используйте server_name _ для прослушивания всех хостов

    listen 443 ssl;
    # секция с параметрами ssl
    ssl_session_cache shared:le_nginx_SSL:10m;
    ssl_session_timeout 1440m;
    ssl_session_tickets off;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers off;

    ssl_certificate /etc/ssl/factr.crt; # укажите путь к своим сертификатам
    ssl_certificate_key /etc/ssl/factr.key; # укажите путь к закрытому ключу

    location / {
        proxy_set_header        Host                    $http_host;
        proxy_set_header        X-Real-IP               $remote_addr;
        proxy_set_header        X-Forwarded-For         $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto       https;
        proxy_buffering off;
        chunked_transfer_encoding off;
        proxy_set_header        X-Forwarded-Ssl   on;
        proxy_pass http://<your_host_ip>:8080; # замените на используемый контейнером порт
    }

    location /planr/ {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_buffering off;
        chunked_transfer_encoding off;
        proxy_set_header        X-Forwarded-Ssl   on;
        proxy_pass https://fqdn_your_planr_host/; # замените на URL вашего сервиса Plan-R, на который проксируются запросы
    }

}
  • выполнить перезапуск NGINX, после добавления сертификатов и файла конфигурации factr.conf
  • запустить контейнер FACT-R следующей командой:
docker run -p 8080:80 --restart always -e PLANR_URL=https://factr-reverse-proxy.dppm.ru/planr -e HIDE_URL_FIELD=true -d registry.dppm.pro/releases/planr/factr:xxx.x

Где:

  • -p 8080 любой доступный порт на который будет проксироваться весь внешний трафик с NGINX
  • -e PLANR_URL=https://factr-reverse-proxy.dppm.ru/planr в режиме reverse proxy переменная PLANR_URL должна передаваться в формате https://fqdn_серера_FACT-R/planr (fqdn сервера FACT-R указанный в конфигурации NGINX в поле server_name)
  • -e HIDE_URL_FIELD=true переменная задаёт настройки отображения полей интерфейса FACT-R и обязательно должна быть передана в значении true в режиме reverse proxy
  • -d registry.dppm.pro/releases/planr/factr:xxx.x имя docker образа FACT-R

После запуска контейнера окно авторизации сервиса FACT-R в режиме reverse proxy будет выглядеть следующим образом:

register imageИнтерфейс сревиса FACT-R в режиме reverse proxy

Для того, чтобы выполнить запуск сервиса FACT-R режиме используйте следующую команду:

docker run -p 8080:80 --restart always -d factr-hidden-fields-redos

Где:

  • -p 8080 любой доступный порт на который будет проксироваться весь внешний трафик с NGINX
  • -d registry.dppm.pro/releases/planr/factr:xxx.x имя docker образа FACT-R

602.0-01a5d701