Тк. данное приложение написано на python
, его установка — копирование файлов с кодом на сервер. Основные трудности могут возникнуть с настройкой окружения — установкой интерпритатора python
и необходимых модулей
Обновление можно осуществить простой подменой файлов с исходным кодом. Возможно нужно будет ещё доустановить недостающие модули. После этого нужно просто перезапустить приложение.
Рекомендуется всегда использовать виртуальное окружение — таким образом можно будет легко избедать проблем с версиями python
или отдельных модулей, если на том же сервере потребуется запустить что-то ещё
Все операции (кроме установки) проводятся в root
-папке приложения (там, где находятся папки source
, config
и т.д.)
Для работы приложения нужен интерпритатор версии строго 3.8
. Если в системе уже установлен python
другой версии его удалять не нужно.
Если нужны несколько версий python
на одной машине, то
WINDOWS: В командах создания виртуального окружения используется утилита py launcher
, которая идёт с установщим python
версии выше 3.3
LINUX: придётся использовать не такую удобную pyenv
, гайд тут
Windows
:python
для всех пользователей и обязательно проверить, что папка назначения доступна всем пользователямДля того чтобы установить модули только для конкретного приложения, создаётся виртуальное окружение. Его нужно производить той версией интерпретатора, которая потом нужна для запуска приложения
python -m venv venv
python3 -m venv venv
py launcher
py -3.8 -m venv venv
pyenv local 3.8.10
python -m venv venv
call venv/Scripts/activate.bat
source venv/bin/activate
Установка производится из файла requirements.txt
pip install -r path_to/requirements.txt
whl
Пытаться загружать пакеты не под текущую архитектуру крайне не рекомендуется (могут быть проблемы с компилируемыми пакетами)
Сохранить все пакеты:
pip download -r requirements.txt -d "./dependencies"
Отдельный пакет, уже установленный в окружении (если на предыдущем пункте скачался, например tar.gz
вместо whl
) :
py -m pip wheel --wheel-dir=./dependencies SomePackage
whl
Локально хранимые файлы пакетов whl
под нужную платформу должны быть в папке dependencies
pip install --no-index --find-links ./dependencies -r requirements.txt
SDK МойОфис
распространяется разработчиком ПО МойОфис и должне быть загружен отдельно
Для установки необходимо использовать команду установки пакета из .whl
файла. Например, для SDK под Windows
pip install MyOfficeSDKDocumentAPI-2022.1-cp38-cp38-win_amd64.whl
Запуск производится простой командой
python ./source/main.py
Нужно будет ввести мастер-пароль для расшифровки хранимых паролей
Сообщение об успешном запуске выглядит так:
Сетевую доступность можно проверить по адресу
url/status
Там будет вывод о статусе агента:
{"jobsSinceStart": 0, "foldersOnDisk": 0, "runningSubprocesses": 0, "activeJobs": 0, "maxParallelJobs": 10}
Как таковой системы автозапуска нет, достаточно создать bat
-файл с командами активации виртуального окружения и запуска брокера и положить его/его ярлык в автозагрузку. Такой автозапуск будет работать только при входе пользователя в систему (логине). После запуска приложение будет работать до окончания работы сессии пользователя.
Чтобы брокер запускался вместо с загрузкой системы вне зависимости от логина, нужно обернуть его в службу ОС. Для этого можно использовать сторонюю утилиту nssm
(настройка крайне проста, не забудьте включить сохранение вывода консоли в файл). Не тестировалось.
Пока не настроена и не тестирована работа через systemd
. Предложений по автозапуску вместе с системой нет. Для того, чтобы приложение продолжило работать после окончания терминальной сессии, можно использовать команду nohup
:
nohup python ./source/main.py &
Не рекомендуется напрямую давать доступ к агенту через сеть, желательно использовать реверс-прокси, например nginx