Установка платформы на сервер
Для установки Pyrus выполните пошаговую инструкцию. Вам понадобится лицензия Pyrus Datacenter, получить которую можно связавшись c нами.
Примечание: все команды, описанные в данном разделе, выполняются из командной строки с правами суперпользователя.
Подготавливаем систему
В системе должно быть предустановлено ПО, описанное в технических требованиях.
Проверить работоспособность Docker можно, выполнив команду
$ docker run hello-world
Для стабильной работы docker-контейнера с поисковым движком Elasticsearch необходимо настроить параметр vm.max_map_count (см. подробнее):
$ sysctl -w vm.max_map_count=262144
Загрузите docker-compose-файл для управления контейнерами системы Pyrus, доступный по адресу https://pyrus.com/datacenter/docker-compose.yml, командой:
$ curl -fsSL https://pyrus.com/datacenter/docker-compose.yml -o docker-compose.yml
Важно: Настоятельно рекомендуем изменить стандартный пароль для подключения к базе данных в docker-compose-файле.
Настраиваем 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
Создаем базу данных и поисковые индексы
Скачайте последние версии контейнеров и запустите скрипт установки следующими командами.
$ 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
Инициализируйте базу данных Pyrus и создайте аккаунт администратора вашей организации с помощью следующих команд.
$ docker-compose run --rm pyrus-setup --create --skip --setadmin --email [ADMIN_EMAIL] --adminpassword [ADMIN_PASSWORD] $ docker-compose run --rm pyrus-setup -ct --start
Инициализируйте поисковые индексы 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
Устанавливаем лицензию и доменное имя
Для запуска 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==
После чего настройте домен основного приложения:
$ 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
Дождитесь запуска всех контейнеров.
Проверяем текущую версию платформы
Запустите команду:
$ docker-compose run --rm pyrus-setup --version