Skip to main content

Простой скрипт на питоне, который поможет развернуть ваше приложение

Project description

udeploy

Простой скрипт на питоне, который поможет развернуть ваше приложение. Данная утилита представляет собой обёртку над такой стандартной утилитой systemd в *nix подобных системах.

Установка

user@server$ pip install udeploy --upgrade

Использование

Превратить файл в демон

Например у вас есть проект телеграм бота на python, где главная программа называется bot.py. Чтобы превратить ваше приложение в демон, перейдите в папку вашего проекта:

user@server$ cd $YOUR_WORK_DIRECTORY

И наберите простую комманду

user@server$ udeploy -f bot.py

ИЛИ

user@server$ udeploy bot.py -f

Данная комманда автоматом создаст service из вашего приложения, и переместит в нужную директорию, сделав его видимым для systemd. Причём рабочей дирректорией демона по умолчанию ставится дирректория вашего проекта. Это важно, если в проекте вы использовали относительные пути. Также названием демона будет являтся название папки вашего проекта. Данная комманда только создаёт демон, его ещё надо запустить, добавить в автозапуск и тд.

Превратить Django проект в демон

user@server$ udeploy --django

Данная комманда просматривает директорию проекта и ищет там файл manage.py.
Дальше при помощи него запускает сервер по адресу 0.0.0.0:80.
То есть НЕ на стандартном 127.0.0.1:8000.
Это сделано потому что, если хоститить на localhost,
то не получится подключиться к приложению извне.
Также нельзя забывать, что в настойках Django settings.py внутри списка ALLOWED_HOSTS нужно указывать домен или ip, так как это уже продакшен.

Запустить демон

Для этого опять же в папке проекта просто выполните:

user@server$ udeploy start

И не нужно указывать никакого названия демона. Программа сама автоматом определит имя папки и на основании этого запустит нужный процесс. Это комманда только один раз запустит ваше приложение как демон. То есть теперь вы можете отключиться от сервера и приложение все ещё будет работать как независимый процесс.

Добавить в автозапуск

user@server$ udeploy enable

Теперь при перезагрузке сервера, вместе со всеми программами будет стартовать и ваше приложение.

Остановить демон

user@server$ udeploy stop

Убрать демон из автозапуска

user@server$ udeploy disable

Удалить демон

user@server$ udeploy remove

Полезно, если вы ошиблись в параметрах при создании демона и не хотите захломлять сервер ненужными нерабочими демонами. Данная коммада удаляет service файлы демона и перезагружает systemd, а если ваше приложение в это время работало, то ещё и останавливает его.

Показать подсказку

user@server$ udeploy --help

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

udeploy-0.0.4.tar.gz (6.2 kB view hashes)

Uploaded Source

Built Distributions

udeploy-0.0.4-py3.9.egg (8.4 kB view hashes)

Uploaded Source

udeploy-0.0.4-py3-none-any.whl (6.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page