Удобнее указывать переменные
This commit is contained in:
parent
c798bd7797
commit
a052a7e112
4 changed files with 18 additions and 5 deletions
5
.env
Normal file
5
.env
Normal 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"
|
|
@ -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
|
```bash
|
||||||
sudo bash start.sh
|
sudo bash start.sh
|
||||||
```
|
```
|
|
@ -2,16 +2,18 @@ FROM node:lts-buster-slim
|
||||||
|
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
COPY package.json .
|
|
||||||
|
|
||||||
|
COPY package.json .
|
||||||
RUN npm install
|
RUN npm install
|
||||||
|
|
||||||
COPY bot.ts .
|
COPY bot.ts .
|
||||||
|
|
||||||
|
|
||||||
# Требуемые переменные окружения
|
# Требуемые переменные окружения
|
||||||
# Токен бота Telegram от бота @BotFather
|
# Токен бота Telegram от бота @BotFather
|
||||||
ENV BOT_TOKEN="5715517585:AAFgAdmzsDokDcCEfy6hO_cI7nrsVeMTx8M"
|
ARG BOT_TOKEN
|
||||||
# Путь к базе данных внутри контейнера, монтируется из файловой системы хоста
|
# Путь к базе данных внутри контейнера, монтируется из файловой системы хоста
|
||||||
ENV DB_PATH="./dbase.db"
|
ENV DB_PATH="./dbase.db"
|
||||||
|
|
||||||
|
|
||||||
CMD npm run start
|
CMD npm run start
|
8
start.sh
8
start.sh
|
@ -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
|
||||||
docker build src -t bot-telegram_zaboal-employment;
|
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;
|
Loading…
Add table
Reference in a new issue