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

This commit is contained in:
bogdan zažigin 2022-12-05 21:09:26 +03:00
parent c798bd7797
commit a052a7e112
4 changed files with 18 additions and 5 deletions

5
.env Normal file
View file

@ -0,0 +1,5 @@
# Токен Telegram Bot API получаемый от BotFather (https://t.me/BotFather)
BOT_TOKEN="5715517585:AAFgAdmzsDokDcCEfy6hO_cI7nrsVeMTx8M"
# Путь к базе данных SQLite на хосте
DB_PATH="/home/zaboal/work/organizations/zazhigin-s_it-studio/databases/local_organizational-structure.db"

View file

@ -1,8 +1,8 @@
## Запуск бота
Для запуска требуются 2 переменных окружения: `BOT_TOKEN`, токен бота Telegram получаемый от [BotFather](https://t.me/BotFather), и `DB_PATH`, путь к базе данных на хосте. `BOT_TOKEN` указывается в [`src/dockerfile`](../src/dockerfile) на 13-й строке после «`ENV BOT_TOKEN=`», а `DB_PATH` в [`start.sh`](../start.sh) на 3-й после «…`-v`» и до «`:`…».
Для запуска требуются 2 переменных окружения: `BOT_TOKEN`, токен бота Telegram получаемый от [BotFather](https://t.me/BotFather), и `DB_PATH`, путь к базе данных SQLite на хосте. Указывать их нужно в файле [.env](../.env) сковывая в двойные кавычки. С помощью команды `source` в [`start.sh`](../start.sh) на основе этих переменных будет примонтирован файл базы данных и передан токен.
Затем нужно запустить файл [`start.sh`](../start.sh) от имени администратора:
Если все переменные указаны верно, можно запускать файл [`start.sh`](../start.sh) от имени администратора:
```bash
sudo bash start.sh
```

View file

@ -2,16 +2,18 @@ FROM node:lts-buster-slim
WORKDIR /usr/src/app
COPY package.json .
COPY package.json .
RUN npm install
COPY bot.ts .
# Требуемые переменные окружения
# Токен бота Telegram от бота @BotFather
ENV BOT_TOKEN="5715517585:AAFgAdmzsDokDcCEfy6hO_cI7nrsVeMTx8M"
ARG BOT_TOKEN
# Путь к базе данных внутри контейнера, монтируется из файловой системы хоста
ENV DB_PATH="./dbase.db"
CMD npm run start

View file

@ -1,3 +1,9 @@
source .env;
echo -e "Полученные переменные окружения:\n\t\033[1mтокен Telegram Bot API\033[0m — \033[4m$BOT_TOKEN\033[0m,\n\t\033[1mпуть к базе данных SQLite на хосте\033[0m — \033[4m$HOST_SQLITE_DB_PATH\033[0m.\n\n";
# Сборка и запуск контейнера Docker
docker build src -t bot-telegram_zaboal-employment;
docker run -v /home/zaboal/work/organizations/zazhigin-s_it-studio/databases/local_organizational-structure.db:/usr/src/app/dbase.db bot-telegram_zaboal-employment;
docker run \
--env BOT_TOKEN=$BOT_TOKEN \
--volume $DB_PATH:/usr/src/app/dbase.db \
bot-telegram_zaboal-employment;