diff --git a/docs/install.md b/docs/install.md new file mode 100644 index 0000000..04f7d29 --- /dev/null +++ b/docs/install.md @@ -0,0 +1,347 @@ +# Установка LexemaRPA Orchestrator + +### Технические требования + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS platformMicrosoft Windows, Mac OS, Linux x32/x64
RAMне менее 4Gb
CPU2.2+ GHz
DatabasePostgreSQL v10 и позднее
NodeJS14.0.0 и позднее
Наличие FTP сервера:обязательно
+
+ +### Архив с файлами + +Оркестратор поставляется в виде запакованного в архив приложения. +Распакуйте `Orchestrator-server-new.zip` в любое удобное место. + +## БД +Оркестратор работает с БД `PostgreSQL` v10 и позднее. + +Вам необходимо создать новую БД для оркестратора и предоставить пользователя БД. + +Если Вы не знаете, как это сделать, следуйте ниже указанному руководству. Далее в руководстве будет показано как создать пользователя с именем `orchestrator` и БД `orchestrator`. + +Если же знаете и у Вас не возникнет с этим трудностей, то сразу перейдите к пункту +[«Конфигурирование оркестратора»](http://localhost:8000/install/#_8). + +### Установка PostgreSQL + +Перейдите на [страницу EDB](https://www.enterprisedb.com/downloads/postgres-postgresql-downloads) и выберите установщик для вашей ОС. Скачайте его и затем запустите. + +На приветственном окошке нажмите `«Next»`. + +Затем будет предложен выбор пути установки, оставьте путь по умолчанию и нажмите `«Next»`. + +В окошке «Выбрать компоненты» или «Select components» поставьте все галочки как на Рисунке ниже. Нажмите `«Next»`. + +
+ +В окошке «Password» или «Пароль» вводится пароль суперпользователя. По умолчанию PostgreSQL создает суперпользователя с именем postgres (понимается как учетная запись администратора сервера базы данных). + +
+ +Здесь нужно будет указать пароль для суперпользователя (пользователя c именем postgres). + +Позже для оркестратора можно будет указать либо этого пользователя, либо создать нового и назначить ему отдельные доступы и роли, инструкция будет ниже. А сейчас необходима учетная запись суперпользователя, чтобы начать использовать СУБД. + +Нажмите «Next». + +Далее необходимо назначить порт, на котором будет работать СУБД. + +
+ +Порт по умолчанию - `5432`. Если PostgreSQL устанавливается впервые, то он скорее всего свободен. Если окажется, что этот порт уже занят другим экземпляром PostgreSQL, можно указать другое значение, например: `5433`. + +Далее везде нажимать «Next» и дождаться установки. В завершающем поздравительном окошке нажать «Finish». + +После успешной установки PostgreSQL сервер уже будет запущен. + +Теперь на вашей машине есть, следующие компоненты: +- Сервер PostgreSQL. +- SQL Shell (psql), инструмент командной строки для управления базами данных. +- pgAdmin, графический инструмент для управления базами данных. + +По некоторым причинам pgAdmin может не входить в некоторые установщики. Если у вас он не установился его можно скачать дополнительно по ссылке: [https://www.pgadmin.org/download/](https://www.pgadmin.org/download/). + + +### Создание пользователя БД + +Если Вы планируете использовать для подключения оркестратора к БД пользователя «postgres» (суперпользователь), то пропустите этот пункт. + +Рекомендуется создать отдельного пользователя для оркестратора. + +В данном пункте есть руководства как производить создание БД и пользователя через графический интерфейс pgAdmin, либо если его нет на вашей машине, через командную строку. + +#### Создание пользователя через pgAdmin + +Откройте pgAdmin. + +При первом запуске pgAdmin потребуется задать мастер пароль в окне «Set Master Password». Это нужно для дополнительного шифрования паролей, которые мы будем позже сохранять. Например, при подключении к серверу БД. Вводим и нажимаем «Сохранить». + +
+ +
+ +При последующих входах в pgAdmin будет запрашиваться мастер пароль. + +Далее в левой части окна будет «Обозреватель» или «Browser». На верхнем уровне дерева отображаются доступные сервера PostgreSQL. + +Если обозреватель серверов пуст, необходимо добавить наш PostgreSQL сервер. + +
+ +
+ +В первой вкладке в поле «Имя» или «Name» введите любое удобное Вам название сервера. +Затем перейдите во вкладку «Соединение» или «Connection». + +В поле «Имя/адрес сервера» введите «localhost». + +В поле «Порт» введите тот порт, который вы вводили при установке СУБД. + +В поле «Пароль» введите тот пароль, который вы вводили на этапе установки СУБД. + +Нажмите «Сохранить». Если подключение пройдет успешно, то в обозревателе серверов появится ранее запущенный сервер. + +Теперь вернемся к созданию пользователя. + +
+ +
+ +В обозревателе серверов два раза кликните по добавленному серверу, чтобы раскрылись вложенные вкладки. + +Чтобы создать пользователя правой кнопкой мыши кликните по «Роль входа/группы», затем «Создать» > «Роль входа/группы». Откроется окно создания роли: + +
+ +
+ +В поле «Имя» вводится название пользователя. Например, «orchestrator» + +Далее во вкладке «Определение» вводится пароль нового пользователя. + +
+ +
+ +Затем во вкладке «Права» необходимо установить переключатели как на Рисунке ниже. + +
+ +
+ +Нажать «Сохранить». + +Таким образом пользователь БД создан. + +#### Создание пользователя через командную строку + +Это альтернативный способ создания пользователя без графического интерфейса. + +
+ +
+ +Запустите «SQL Shell (psql)». Найти его можно через поиск Windows + +
+ +
+ +После этого терминал запросит пароль пользователя postgresql. Введите пароль, который вы указывали при установке СУБД. Нажмите «Enter». + +***Примечание:*** * при вводе паролей через терминал курсор печатания будет оставаться на одном и том же месте.* + +
+ +
+ +При успешном входе выведется версия psql. В начале строки появиться пометка «postgres=#», что значит вы можете запускать команду. + +
+ +
+ +Далее скопируйте и вставьте в терминал следующий код (выделите и скопируйте): + +```sql +CREATE ROLE orchestrator WITH LOGIN NOSUPERUSER CREATEDB CREATEROLE INHERIT NOREPLICATION CONNECTION LIMIT -1 PASSWORD 'root'; +``` + +Нажмите `«Enter»`. + +Закройте psql shell. + +Пользователь создан. + +### Создание БД + +Для оркестратора необходимо создать новую БД. + +В этом пункте руководства будет показано как создать БД через графический интерфейс pgAdmin, либо если его нет на вашей машине, через командную строку. + +#### Создание БД через pgAdmin + +Откройте pgAdmin. + +
+ +
+ +В «обозревателе» (Browser) раскройте вложенные сервера, затем раскройте сервер Postgres, нажмите ПКМ на «Базы данных» (Databases) > «Создать» (Create) > «База данных…». + +Откроется окно. В поле «База данных» введите название БД. Остальные параметры оставьте по умолчанию. + +Нажмите `«Сохранить»`. + +БД создана. + +#### Создание БД через командную строку + +Это альтернативный способ создания БД без графического интерфейса. + +
+ +
+ +Запустите «SQL Shell (psql)». Найти его можно через поиск Windows. + +После этого терминал запросит пароль пользователя postgresql. Введите пароль, который вы указывали при установке СУБД. + +Нажмите `«Enter»`. + +***Примечание:**** при вводе паролей через терминал курсор печатания будет оставаться на одном и том же месте.* + +Далее скопируйте и вставьте в терминал следующий код (выделите и скопируйте): +```sql +CREATE DATABASE orchestrator; +``` + +Нажмите `«Enter»`. + +Вот так БД создана через командную строку. + +## Конфигурирование оркестратора + +Для конфигурирования оркестратора используется `.env` файл. Такой файл необходимо создать в корне распакованной папки `Orchestrator-server-new`. + +```bash +Orchestrator-server-new/ +├── dist/ +│ └── main.js +├── client +├── files +├── node_modules +└── .env # <-- env файл + +``` + +В нем должны быть указаны, как минимум, все обязательные для старта параметры. Параметры указываются в формате КЛЮЧ=ЗНАЧЕНИЕ, например: + +```bash +APP_PORT_HTTP=5000 +``` + +Пример `.env` файла со всеми обязательными параметрами: + +```bash +APP_PORT_HTTP=5000 # порт, на котором стартует оркестратор + +# Database connection + +DB_USER=postgres # пользователь базы данных +DB_PASSWORD=root # пароль пользователя +DB_HOST=localhost # адрес сервера БД +DB_PORT=5432 # порт БД +DB_DATABASE=orchestrator # название БД +DB_SCHEMA=public # схема БД + +# или можно использовать в виде db connection url + +DB_CONNECTION_STRING=example # db connection string + +# Crypto + +JWT_SECRET=secret +JWT_REFRESH_TOKEN_SECRET=refreshSecret +SALT_ROUNDS=10 # число хеширований паролей + +CRYPTO_KEY=cryptoKey # ключ шифрования персональных данных + +# Email service + +EMAIL_SERVICE=Mail.ru # почтовый сервис, например Mail.ru, Yandex, Gmail +EMAIL_USER=example@mail.ru # почта для оркестратора +EMAIL_PASSWORD=example # пароль пользователя или пароль приложения + +# FTP connection + +FTP_HOST=192.168.56.136 +FTP_USER=example +FTP_PASSWORD=example +FTP_PATH=/rpa +``` + +По желанию можно добавить дополнительные настройки: + +```bash + +APP_DEFAULT_LANGUAGE # язык текстовых сообщений оркестратора, по умолчанию = ru, доступны en, ru + +CRYPTO_ALGORITHM # выбрать алгоритм шифрования AES, DES, TripleDES, RC4, RC4Drop, по умолчанию AES + +PASSWORD_ATTEMPTS_CHECKING_MINUTES # Кол-во минут, в течении которых учитываются подряд идущие неудачные попытки. По умолчанию 1. + +PASSWORD_MAX_ATTEMPTS # Допустимое количество неправильных попыток входа. По превышении этого кол-ва пользователь получает бан. Например, 10. По умолчанию 5 + +PASSWORD_LENGTH_MIN +PASSWORD_LENGTH_MAX +PASSWORD_REG_EXP +PASSWORD_INVALID_MESSAGE +``` + +## Запуск оркестратора + +Для запуска оркестратора необходимо запустить файл `main.js` в папке `dist`. + +```bash +Orchestrator-server-new/ +├── dist/ +│ └── main.js # <-- исполняемый файл +├── client +├── files +├── node_modules +└── .env +``` + +Перейдите в распакованную папку `Orchestrator-server-new`, затем в `dist`, и выполните: + +```js +node main.js +``` + + + + diff --git a/docs/intro.md b/docs/intro.md new file mode 100644 index 0000000..6a6f406 --- /dev/null +++ b/docs/intro.md @@ -0,0 +1,12 @@ +# Введение + +Оркестратор – это компонент LexemaRPA, сервис запуска роботов по составленному расписанию и событиям. + +Через оркестратор можно не только запускать роботов, а еще: + +- Делится роботами с другими людьми. + +- Создавать группы пользователей. + +- Разграничивать доступ по группам. + diff --git a/docs/media/create_backup_cmd.mp4 b/docs/media/create_backup_cmd.mp4 new file mode 100644 index 0000000..49a951f Binary files /dev/null and b/docs/media/create_backup_cmd.mp4 differ diff --git a/docs/media/create_backup_pgAdmin.mp4 b/docs/media/create_backup_pgAdmin.mp4 new file mode 100644 index 0000000..263ac57 Binary files /dev/null and b/docs/media/create_backup_pgAdmin.mp4 differ diff --git a/docs/media/create_database.gif b/docs/media/create_database.gif new file mode 100644 index 0000000..c74fa83 Binary files /dev/null and b/docs/media/create_database.gif differ diff --git a/docs/media/create_database_cmd.gif b/docs/media/create_database_cmd.gif new file mode 100644 index 0000000..b9a06a0 Binary files /dev/null and b/docs/media/create_database_cmd.gif differ diff --git a/docs/media/create_user.gif b/docs/media/create_user.gif new file mode 100644 index 0000000..4224b3b Binary files /dev/null and b/docs/media/create_user.gif differ diff --git a/docs/media/create_user_cmd.gif b/docs/media/create_user_cmd.gif new file mode 100644 index 0000000..65d57ca Binary files /dev/null and b/docs/media/create_user_cmd.gif differ diff --git a/docs/media/image400.png b/docs/media/image400.png new file mode 100644 index 0000000..01738ed Binary files /dev/null and b/docs/media/image400.png differ diff --git a/docs/media/image401.png b/docs/media/image401.png new file mode 100644 index 0000000..f097203 Binary files /dev/null and b/docs/media/image401.png differ diff --git a/docs/media/image402.png b/docs/media/image402.png new file mode 100644 index 0000000..769855b Binary files /dev/null and b/docs/media/image402.png differ diff --git a/docs/media/image403.gif b/docs/media/image403.gif new file mode 100644 index 0000000..c88afe0 Binary files /dev/null and b/docs/media/image403.gif differ diff --git a/docs/media/image404.gif b/docs/media/image404.gif new file mode 100644 index 0000000..4896f6b Binary files /dev/null and b/docs/media/image404.gif differ diff --git a/docs/media/image405.png b/docs/media/image405.png new file mode 100644 index 0000000..8ae4925 Binary files /dev/null and b/docs/media/image405.png differ diff --git a/docs/media/image406.png b/docs/media/image406.png new file mode 100644 index 0000000..1b5a42f Binary files /dev/null and b/docs/media/image406.png differ diff --git a/docs/media/image407.png b/docs/media/image407.png new file mode 100644 index 0000000..6bf727a Binary files /dev/null and b/docs/media/image407.png differ diff --git a/docs/media/image408.png b/docs/media/image408.png new file mode 100644 index 0000000..e8cda03 Binary files /dev/null and b/docs/media/image408.png differ diff --git a/docs/media/image409.png b/docs/media/image409.png new file mode 100644 index 0000000..746d8f8 Binary files /dev/null and b/docs/media/image409.png differ diff --git a/docs/media/image410.png b/docs/media/image410.png new file mode 100644 index 0000000..c87e45f Binary files /dev/null and b/docs/media/image410.png differ diff --git a/docs/media/image411.gif b/docs/media/image411.gif new file mode 100644 index 0000000..c74fa83 Binary files /dev/null and b/docs/media/image411.gif differ diff --git a/docs/media/image412.gif b/docs/media/image412.gif new file mode 100644 index 0000000..b9a06a0 Binary files /dev/null and b/docs/media/image412.gif differ diff --git a/docs/media/image413.png b/docs/media/image413.png new file mode 100644 index 0000000..d7d2ed9 Binary files /dev/null and b/docs/media/image413.png differ diff --git a/docs/media/restore_backup.mp4 b/docs/media/restore_backup.mp4 new file mode 100644 index 0000000..d752907 Binary files /dev/null and b/docs/media/restore_backup.mp4 differ diff --git a/docs/media/restore_backup_cmd.mp4 b/docs/media/restore_backup_cmd.mp4 new file mode 100644 index 0000000..4005e90 Binary files /dev/null and b/docs/media/restore_backup_cmd.mp4 differ diff --git a/docs/updating_and_migration.md b/docs/updating_and_migration.md new file mode 100644 index 0000000..e0177b5 --- /dev/null +++ b/docs/updating_and_migration.md @@ -0,0 +1,157 @@ +# Обновление LexemaRPA Orchestrator + +## Когда это нужно и зачем? + +Если Вам необходимо обновиться с предыдущей минорной версии Lexema-RPA (Lexema-RPA Studio 5.14.x.x), следйте руководству данного пункта. +
+Дело в том, что основные версии Lexema-RPA работают с разными версиями оркестратора: + - Lexema-RPA Studio `5.14.x.x` и раньше работают с версией Lexema-RPA Orchestrator `1.2.x`. + - Но после крупного обновления Lexema-RPA Studio `5.15.x.x`, необходимо также обновить Lexema-RPA Orchestrator до `1.3.x`. +
+В отличие от установки Lexema-RPA Studio с нуля, при обновлении необходимо выполнить несколько дополнительных шагов. +
+Будет необходимо проделать те же действия, что и при установке, а также создать резервную копию БД, затем использовать эту копию БД для новой версии оркестратора. + +## Обновление и миграции + +Проделайте все шаги раздела [«Установка»](http://127.0.0.1:8000/install/) +не доходя до пункта «Конфигурирование оркестратора». + +## Резервная копия + +Для того чтобы безопасно обновлить Lexema-RPA Orchestrator, необходимо "склонировать" БД, на которой работал предыдущий оркестратор. + +### Создание резервной копии + +В данном пункте руководства будет показано как производить создание резервной копии через графический интерфейс pgAdmin, либо если его нет на вашей машине, через командную строку. + +#### Создание резервной копии через pgAdmin + + +
+ +Откройте pgAdmin. + +Раскройте дерево элементов (Обзреватель или Browser). + +Выберите БД старого оркестратора >> клик правой кнопкой мыши >> резервная копия (backup). + +Откроется окно создания резервной копии. + +В поле "имя файла" нужно ввести полное имя и путь. Для этого кликните на иконку файла в этом поле, затем выберите нужное место для хранения и укажите название файла. Примечание: резервная копия должна иметь расширение `.sql`. + +Нажмите "Сохранить". + +Нажмите "Резервная копия" ("Backup"). + +В правом нижнем углу появится уведомления о том что процесс резервного копирования начат. + +Необходимо дождаться окончанияя резервного копирования. Появится уведомление "Завершено успешно" или "Completed successfully". + + +#### Создание резервной копии через командную строку + +Это альтернатиынй способ без графического интерфейса + + +
+ +Через командную строку необходимо открыть папку `C:\Programm Files\PostgreSQL\*версия postgres*\bin`. + +Далее выполнить следующую команду: +``` +pg_dump --file "*полный_путь/имя_файла.sql*" --host "localhost" --port "5432" --username "*пользователь postgres*" --verbose --format=c --blobs "*название копируемой БД*" +``` +***Примечание:*** *\* полный_путь/имя_файла.sql - файл в который будет сохранена резервная копия* + +### Создание клона БД из резервной копии + +В данном пункте руководства будет показано как производить создание копии БД через графический интерфейс pgAdmin, либо если его нет на вашей машине, через командную строку. + +#### Создание клона БД из резервной копии через pgAdmin + + +
+ +Откройте pgAdmin. + +Раскройте дерево элементов (Обзреватель или Browser). + +Нажмите ПКМ на "Базы данных" ("Database"). + +Создать >> База данных. + +Откроется окно создания БД. Введите название новой БД. Нажмите "Сохранить". + +Затем кликните ПКМ по созданной БД >> "Восстановить" ("Restore"). + +Откроется окшечко восстановления. В поле "Имя файла" ("File") выберите файл резервной копии, который был создан ранее. Нажмите "Сохранить" ("Save"). + +Дождитесь восстановления БД. Появится уведомление "Завершено успешно" или "Completed successfully". + +Таким образом сделана резервная копия БД. + +#### Создание клона БД из резервной копии командную строку + +Это альтернатиынй способ без графического интерфейса + + +
+ +Через командную строку необходимо открыть папку `C:\Programm Files\PostgreSQL\*версия postgres*\bin`. + +Далее выполнить следующую команду: +``` +createdb -U "*пользователь postgres*" "*название_новой_БД*" +``` + +Затем: + +``` +pg_restore --host "localhost" --port "5432" --username "*пользователь_postgres*" --dbname "*название_восстанавливаемой_БД*" --verbose "*полный_путь/имя_файла_резервной_копии.sql*" +``` + +***Примечание:*** *\* название_восстанавливаемой_БД - название БД, которая чуть ранее была создана командой createdb* + +Таким образом сделана резервная копия БД. + +## Конфигурирование оркестратора + +Выполните конфигурирование оркестратора согласно [этому руководству](http://127.0.0.1:8000/install/#_8). +В качестве БД укажите копию старой БД, которую Вы недавно создали. + +## Перед запуском + +Перед запуском оркестратора перейдите в распакованную папку `Orchestrator-server-new` и выполните: + +```js +npx sequelize-cli db:migrate +``` + +## Запуск оркестратора + +Для запуска оркестратора необходимо запустить файл `main.js` в папке `dist`. + +```bash +Orchestrator-server-new/ +├── dist/ +│ └── main.js # <-- исполняемый файл +├── client +├── files +├── node_modules +└── .env +``` + +Перейдите в распакованную папку `Orchestrator-server-new`, затем в `dist`, и выполните: + +```js +node main.js +``` diff --git a/docs/usage.md b/docs/usage.md new file mode 100644 index 0000000..1cdb5b0 --- /dev/null +++ b/docs/usage.md @@ -0,0 +1,8 @@ +# Использование + +## Первый запуск + +Для того чтобы дальше использовать LexemaRPA необходимо иметь учетную запись администратора. + +Учетная запись администратора создается самой первой. Пройдя регистрацию первого пользователя, он будет обладать правами администратора. + diff --git a/mkdocs.yml b/mkdocs.yml index 92de2b8..2efc041 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -16,5 +16,10 @@ nav: - 'ДРУГИЕ МОДУЛИ': 'other.md' - 'ОРКЕСТРАТОР': 'orkestrator.md' - 'КОНФИГУРИРОВАНИЕ LEXEMA-RPA STUDIO': 'konfiguration.md' - + - 'Lexema-RPA Orchestrator': + - "Введение": "intro.md" + - "Установка": "install.md" + - "Обновление и миграции": "updating_and_migration.md" + - "Использование": "usage.md" + theme: readthedocs