Установка платформы на сервер
Для установки Pyrus выполните пошаговую инструкцию. Вам понадобится лицензия Pyrus Datacenter, получить которую можно связавшись c нами.
Примечание: все команды, описанные в данном разделе, выполняются из командной строки с правами суперпользователя.
Обратите внимание: начиная с версии Docker-Compose 2.20.0 синтаксис команды изменился. Вместо docker-compose необходимо использовать docker compose (без дефиса).
Подготавливаем систему
В системе должно быть предустановлено ПО, описанное в технических требованиях.
Проверить работоспособность 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 необходимо указать новые значения ‑‑accessKey и ‑‑secretKey в файле docker-compose.yml
Если вы хотите использовать хранилище MinIO, запустите его:
$ docker-compose up -d minio
Чтобы настроить работу Pyrus с хранилищем S3, выполните следующую команду:
$ docker-compose run --rm pyrus-setup --configure-s3 --bucket pyrus --accessKey admin --secretKey admin123 --endpointUrl http://pyrus-minio:9000 --storageType MinIo
Важно: пример приведен для хранилища MinIO, для обеспечения безопасности в вашей установке Pyrus Datacenter необходимо заменить указанные здесь значения ‑‑accessKey и ‑‑secretKey.
Параметры
‑‑bucket | Имя корзины S3, в которой хранятся файлы. |
‑‑accessKey | Ключ для доступа к хранилищу файлов S3. |
‑‑secretKey | Секретный ключ для доступа к хранилищу файлов S3. |
‑‑endpointUrl | Адрес S3 для хранения файлов. Необходимо указать адрес сервера, например, https://s3mts.ru:443 для MTS S3, https://hb.bizmrg.com для VkCloud S3 и https://storage.yandexcloud.net для Yandex S3. |
‑‑storageType | Необязательный параметр, тип хранилища. Поддерживаются варианты: MinIo, Mts, VkCloud, Yandex. |
Устанавливаем лицензию и доменное имя
Для запуска 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