installation script and guide

This commit is contained in:
bvn13 2024-06-14 22:03:43 +03:00
parent 5f73a2b159
commit af3618e8d4
3 changed files with 83 additions and 0 deletions

View File

@ -43,3 +43,67 @@
- Вопрос: файл на сервере, я работаю на ноутбуке - где логика? - Вопрос: файл на сервере, я работаю на ноутбуке - где логика?
- Ответ: есть [Syncthing](https://syncthing.net), который позволит синхронизировать файл с задачми на сервере и на ноутбуке. И на смартфоне. - Ответ: есть [Syncthing](https://syncthing.net), который позволит синхронизировать файл с задачми на сервере и на ноутбуке. И на смартфоне.
# Инструкция установки и настройки
## Что понадобится
В минимальной комплектации понадобится:
1. VPS - арендуйте где-нибудь сервер (не хостинг). Проверенные варианты: Mail.Ru Group, Yandex
2. git - установите на сервер
3. [Docker](https://docs.docker.com/engine/install/ubuntu/) - куда без него?
4. [docker-compose](https://docs.docker.com/compose/install/linux/) - с этим проще деплоить
## Как собрать
1. `git clone https://gitea.bvn13.me/bvn13/jedoist-client.git`
2. `bash prepare-install.sh`
## Настройка запуска
1. Настройка осуществляется установкой переменных окружения при старте
- TODO_PATH - каталог (локальный), где хранится файл с заданиями
- TODO_FILE - имя файла с заданиями
2. Формат файла с заданиями такой: это MarkDown с жесткой структурой
```
# ToDo
- [ ] task 1
- [ ] task 2
```
сервис при добавлении новой задачи ищет строку `# ToDo`, после этого отступает одну пустую строку и добавляет задачу в формате MarkDown checked action. Советую ознакомиться с [форматом MarkDown](https://www.graef.io/basic-markdown-syntax/), потому что полезно.
3. Третья важная переменная окружения
- TOKEN - это тот авторизационный токен, который будет необходимо сообщить боту JeDoIst при добавлении себе списка задач.
## Запуск
Запуск осуществляется стандартным путем, с помощью `docker-compose`:
```
> TODO_PATH=/path/to/dir \
TODO_FILE=file.md \
TOKEN=my-secret-token \
docker-compose up -d
```
## Проверка статуса
```
> docker ps
```
Контейнер должен быть `alive` и не перегружаться.
## Как же настроить список задач в боте?
`/create_todo_list` - команда добавления списка задач
1. имя списка задач - необходимо для того, чтобы после введенной задачи (в диалоге бота в Телеграм) указать, в какой список добавить задачу
2. `callback URL` - это внешний адрес вашего запущенного сервиса (по этой инструкции). Если вы арендовали VPS, то добавьте в ее FireWall порт 8080 для настоящего сервиса, и укажите в диалоге бота адрес `http://YOUR_VPS_IP:8080/create-task`
3. токен авторизации - тот самый токен, который указан при запуске настоящего сервиса на вашем VPS

View File

@ -0,0 +1,15 @@
version: '3.3'
services:
bot:
build: ./
environment:
- TOKEN=${TOKEN}
- TODO_PATH=/mnt/todo
- TODO_FILE=${TODO_FILE}
volumes:
- ${TODO_PATH}:/mnt/todo
restart: on-failure
ports:
- 8080:8080

4
prepare-install.sh Normal file
View File

@ -0,0 +1,4 @@
#!/bin/bash
rm docker-compose.yaml
mv docker-compose.yaml-distribution docker-compose.yaml