Установка сервиса FACT-R
Начиная с релиза 505.3 появилась возможность установки Вэб приложения FACT-R в качестве сервиса PLAN-R On-Premise.
Возможны следующие варианты установки:
- на одном сервере с сервисами PLAN-R с общим доменом;
- на одном сервере с сервисами PLAN-R на отдельном домене;
- на отдельном сервере (standalone).
- на отдельном сервере (standalone) в режиме reverse proxy
Внимание! Сервис FACT-R конфигурируется с помощью следующих переменных среды.
Внимание! При использовании сервиса, необходимо указать в переменной среды COMPOSE_PROFILES=all, factr профиль factr.
Установка с общим доменом
Для установки FACT-R, на одном домене с сервисами PLAN-R, необходимо выполнить активацию сервиса. Для этого в файле .env переменной FACTR_ENABLED должно быть присвоено значение true, а также добавить профиль factr в переменную COMPOSE_PROFILES. В итоге, отредактированный .env примет вид:
.env файл. активация FACT-R
Далее, необходимо выполнить запуск системы командой ./start.sh. Сам сервис будет доступен по адресу http(s)://FQDN/factr
страница авторизации 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 сервере.
.env файл. доменное имя FACT-R
окно авторизации. доменное имя 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 к которому необходимо подключиться.

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

Настройка доступа к FACT-R по HTTPS
Что бы настроить доступ к сервису по защищённому протоколу HTTPS с помощью SSL сертификатов, необходимо присвоить переменной среды PROXY_SSL_ENABLED значение true. Так же, переменные PROXY_CERT_PATH и FACTR_CERT_PATH должны содержать абсолютный или относительный путь к файлам сертификатов, выданных вашим удостоверяющим центром. Файл сертификата должен быть в формате .pem и содержать сертификат объекта, закрытый ключ и образовывать полную цепочку доверия.
.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 будет выглядеть следующим образом:
Интерфейс сревиса 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