Справка

Установка платформы на сервер

Безоблачный Pyrus

Для установки Pyrus выполните пошаговую инструкцию. Вам понадобится лицензия Pyrus Datacenter, получить которую можно связавшись c нами.

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

Подготавливаем систему

  1. В системе должно быть предустановлено ПО, описанное в технических требованиях.

    Проверить работоспособность Docker можно, выполнив команду

    $ docker run hello-world
    
  2. Для стабильной работы docker-контейнера с поисковым движком Elasticsearch необходимо настроить параметр vm.max_map_count (см. подробнее):

    $ sysctl -w vm.max_map_count=262144
    
  3. Загрузите docker-compose-файл для управления контейнерами системы Pyrus, доступный по адресу https://pyrus.com/datacenter/docker-compose.yml, командой:

    $ curl -fsSL https://pyrus.com/datacenter/docker-compose.yml -o docker-compose.yml
    

Настраиваем DNS

Машина с Pyrus должна быть доступна из вашей корпоративной сети по адресу pyrus.yourdomain.org. Для этого узнайте IP-адрес сервера и добавьте соответствующую А-запись в DNS-зону домена. Проверить DNS-запись можно, например, с помощью утилиты dig:

$ dig pyrus.yourdomain.org

Команда должна вывести A-запись заданного доменного имени. Убедитесь, что она соответствует IP-адресу сервера.

Устанавливаем SSL-сертификаты

Для обеспечения безопасной работы необходимо установить SSL-сертификат вашего домена pyrus.yourdomain.org.

Раскомментируйте строки с путями до сертификатов в пункте nginx в файле docker-compose.yml и укажите правильные пути до собственного сертификата и приватного ключа:

volume:
	- /path/to/cert:/etc/nginx/ssl/cert.crt
	- /path/to/key:/etc/nginx/ssl/key.key

где:

  • /path/to/cert — путь до сертификата в формате PEM или DER;
  • /path/to/key — путь до приватного ключа в формате PEM.

Важно: контейнеру nginx необходим постоянный доступ к сертификату и приватному ключу. Не переносите и не удаляйте эти файлы без соответствующих изменений в docker-compose.yml.

Примечание 1: стоит указывать полную цепочку с корневым сертификатом. При необходимости соберите полную цепочку сертификатов следующим образом:

$ cat pyrus.crt intermediate.crt root.crt > ca.pem
# Порядок указания сертификатов отражает выполняемую
# клиентом последовательность проверки:
# сертификат сервера, промежуточный сертификат
# и корневой сертификат.

Примечание 2: если вы хотите установить сертификат в уже запущенном приложении, необходимо перезапустить контейнер с nginx.

$ docker-compose up -d nginx

Создаем базу данных и поисковые индексы

  1. Скачайте последние версии контейнеров и запустите скрипт установки следующими командами.

    $ docker-compose --profile all pull
    $ docker-compose up -d postgres logs elastic
    

    Скрипты внутри контейнеров pyrus-postgresql создадут пустую базу данных Pyrus на вашей машине. Проверить результат успешного запуска можно следующей командой.

    $ docker exec pyrus-postgresql pg_isready
    # /var/run/postgresql:5432 - accepting connections
    
  2. Инициализируйте базу данных Pyrus и создайте аккаунт администратора вашей организации с помощью следующих команд.

    $ docker-compose run --rm pyrus-setup --create --skip --setadmin --email [ADMIN_EMAIL] --adminpassword [ADMIN_PASSWORD]
    $ docker-compose run --rm pyrus-setup -ct --start
    
  3. Инициализируйте поисковые индексы Elasticsearch. Для этого выполните следующие команды.

    $ docker-compose run --rm elastic-console -iall
    

Настраиваем хранилище S3

По умолчанию Pyrus сохраняет все файлы, прикладываемые к задачам, во внутренней базе данных. Для крупных инсталляций целесообразно хранить файлы в отдельном S3-совместимом хранилище из перечня поддерживаемых в Pyrus.

Если вы планируете использовать хранилище по умолчанию, пропустите этот раздел инструкции.

Например, для работы с S3-хранилищем MinIO, размещённым в вашей локальной сети или у облачного провайдера, выполните следующие команды:

$ docker-compose run --rm pyrus-setup --setup -id 9910001 -v false
$ docker-compose run --rm pyrus-setup --setup -id 9910004 -v true
$ docker-compose run --rm pyrus-setup --setup -id 9910002 -v [MINIO_ADDRESS]
$ docker-compose run --rm pyrus-setup --setup -id 9900151 -v [S3_ACCESS_KEY]
$ docker-compose run --rm pyrus-setup --setup -id 9900152 -v [S3_ACCESS_SECRET]
$ docker-compose run --rm pyrus-setup --setup -id 9900153 -v [S3_BUCKET]

Описание конфигурационных параметров, в том числе специфических для работы с другими S3-хранилищами, приведены в соответствующем разделе.

Как альтернатива внешнему S3-хранилищу в поставку Pyrus входит контейнер с хранилищем MinIO, работающий на том же самом хосте. Чтобы использовать такое хранилище, настройте Pyrus командами:

$ docker-compose run --rm pyrus-setup --setup -id 9910001 -v false
$ docker-compose run --rm pyrus-setup --setup -id 9910004 -v true

Запустите MinIO и создайте в хранилище корзину для файлов командами:

$ docker-compose up -d minio
$ docker-compose run --rm pyrus-setup --cb

Устанавливаем лицензию и доменное имя

  1. Для запуска Pyrus установите лицензию приложения командой:

    $ docker-compose run --rm pyrus-setup --setup -id 100000 -v [YOUR_LICENSE]
    # [YOUR_LICENSE] - текст лицензии, который вы получили
    # от вашего аккаунт-менеджера.
    # Например: docker-compose run --rm pyrus-setup --setup -id 100000 -v aHR0cHM6Ly9weXJ1cy5jb20vcnUvam9icw==
    
  2. После чего настройте домен основного приложения:

    $ docker-compose run --rm pyrus-setup --setup -id 100001 -v [YOUR_HOSTNAME]
    # [YOUR_HOSTNAME] - имя вашего домена, по которому ваши
    # пользователи будут обращаться к системе.
    # Например: docker-compose run --rm pyrus-setup --setup -id 100001 -v pyrus.yourdomain.org
    

Полный список конфигурационных параметров доступен в соответствующем разделе.

Запуск контейнеров в боевом режиме

Запустите систему командой:

$ docker-compose up -d

Дождитесь запуска всех контейнеров.

Была ли эта статья полезной?