Metadata-Version: 2.1
Name: udeploy
Version: 0.0.4
Summary: Простой скрипт на питоне, который поможет развернуть ваше приложение
Home-page: https://github.com/ogurechik/udeploy
Author: Oleg Silver
Author-email: rav-navini-gego-cutropal@yandex.ru
License: MIT
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Requires-Python: >=3.6
Description-Content-Type: text/markdown

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

# Установка 
```console
user@server$ pip install udeploy --upgrade
```

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

## Превратить файл в демон
Например у вас есть проект телеграм бота на python, где главная программа называется bot.py.
Чтобы превратить ваше приложение в демон, перейдите в папку вашего проекта:
```console
user@server$ cd $YOUR_WORK_DIRECTORY
```

И наберите простую комманду
```console
user@server$ udeploy -f bot.py
```

ИЛИ

```console
user@server$ udeploy bot.py -f
```

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

## Превратить Django проект в демон
```console
user@server$ udeploy --django
```

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

## Запустить демон
Для этого опять же в папке проекта просто выполните:
```console
user@server$ udeploy start
```
И не нужно указывать никакого названия демона. Программа сама автоматом определит имя папки
и на основании этого запустит нужный процесс. Это комманда только один раз запустит ваше приложение
как демон. То есть теперь вы можете отключиться от сервера и приложение все ещё будет работать как
независимый процесс.

## Добавить в автозапуск
```console
user@server$ udeploy enable
```
Теперь при перезагрузке сервера, вместе со всеми программами будет стартовать и ваше приложение.

## Остановить демон
```console
user@server$ udeploy stop
```

## Убрать демон из автозапуска
```console
user@server$ udeploy disable
```

## Удалить демон
```console
user@server$ udeploy remove
```
Полезно, если вы ошиблись в параметрах при создании демона и не хотите захломлять сервер ненужными
нерабочими демонами. Данная коммада удаляет service файлы демона и перезагружает systemd,
а если ваше приложение в это время работало, то ещё и останавливает его.

## Показать подсказку
```console
user@server$ udeploy --help
```


