2023-02-26 13:56:57 +03:00
# Первый запуск ассистента
2023-02-22 16:54:31 +03:00
2023-02-26 13:56:57 +03:00
Есть несколько способов запустить бота-помощника. Бот был спроектирован таким образом, чтобы работать локально на вашем ПК, но вы можете запустить е г о на сервере в режиме 24/4.
2023-02-22 16:54:31 +03:00
2023-03-05 18:58:26 +03:00
Для начала выполните эти действия:
1. [Создание бота в Telegram ](creating-telegram-bot.md )
2. [Получение персонального токена в GitLab ](create-gitlab-token.md )
2023-02-23 13:04:21 +03:00
2023-02-22 16:54:31 +03:00
## Конфигурация
2023-03-05 18:58:26 +03:00
Вне зависимости от того, какой способ вы выберете, необходимо будет указать данные переменные среды:
2023-02-22 16:54:31 +03:00
2023-02-26 13:56:57 +03:00
* `TELEGRAM_BOT_TOKEN` — токен, который вы получили при [создании бота ](creating-telegram-bot.md ).
2023-02-22 16:54:31 +03:00
* `TELEGRAM_BOT_USERNAME` — название, которое вы дали боту. Оканчивается на bot.
2023-02-26 13:56:57 +03:00
* `GITLAB_PERSONAL_TOKEN` — токен, который вы [получили в GitLab. ](create-gitlab-token.md )
* `TELEGRAM_PERSON_ID` — ваш идентификатор в telegram, можно узнать в боте [@myidbot ](@myidbot ).
* `GITLAB_URL` — url на GitLab. Локальный или облачный.
* `DATASOURCE_URL` — ссылка на базу данных Postgres, в следующем формате: `jdbc:postgresql://databasehost:5432/gitlab_bot`
2023-02-22 16:54:31 +03:00
* `DATASOURCE_USERNAME` — пользователь БД
* `DATASOURCE_PASSWORD` — пароль от БД
## Запуск Docker Compose
2023-02-26 13:56:57 +03:00
Самый простой способ запустить ассистента, - это docker compose. Создайте файлы `docker-compose.yml` и `.env` . Н е забудьте в `.env` указать все необходимые для запуска переменные.
=== ":simple-docker: docker-compose.yml"
``` yaml
version: '3.8'
services:
gitlab-bot-database:
image: postgres:15.1-alpine
restart: always
hostname: gitlab-bot-database
container_name: gitlab-bot-database
networks:
gitlab-bot:
environment:
POSTGRES_DB: "gitlab_bot"
POSTGRES_USER: "postgres"
POSTGRES_PASSWORD: ${DATASOURCE_PASSWORD}
volumes:
- gitlab-bot-database:/var/lib/postgresql/data/
gitlab-bot:
image: upagge/gitlab-telegram-notify:latest
hostname: gitlab-bot
container_name: gitlab-bot
networks:
gitlab-bot:
depends_on:
- gitlab-bot-database
environment:
TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN}
TELEGRAM_BOT_USERNAME: ${TELEGRAM_BOT_USERNAME}
GITLAB_PERSONAL_TOKEN: ${GITLAB_PERSONAL_TOKEN}
TELEGRAM_PERSON_ID: ${TELEGRAM_PERSON_ID}
GITLAB_URL: ${GITLAB_URL}
DATASOURCE_URL: "jdbc:postgresql://gitlab-bot-database:5432/gitlab_bot"
DATASOURCE_USERNAME: ${DATASOURCE_USERNAME}
DATASOURCE_PASSWORD: ${DATASOURCE_PASSWORD}
volumes:
gitlab-bot-database:
networks:
gitlab-bot:
```
=== ":octicons-file-16: .env"
``` properties
TELEGRAM_BOT_TOKEN=
TELEGRAM_BOT_USERNAME=
GITLAB_PERSONAL_TOKEN=
TELEGRAM_PERSON_ID=
GITLAB_URL=
DATASOURCE_USERNAME=
DATASOURCE_PASSWORD=
```
Теперь запустите композ:
``` shell
docker compose up -d
```
2023-02-22 16:54:31 +03:00
## Запуск Docker
Команда для запуска выглядит следующим образом:
``` docker
docker run --name gitlab-notify \
--env TELEGRAM_BOT_TOKEN=value \
--env TELEGRAM_BOT_USERNAME=value \
--env GITLAB_PERSONAL_TOKEN=value \
--env TELEGRAM_PERSON_ID=value \
--env GITLAB_URL=value \
--env DATASOURCE_URL=jdbc:postgresql://localhost:5432/gitlab_bot \
--env DATASOURCE_USERNAME=postgres \
--env DATASOURCE_PASSWORD=value \
--network="host" upagge/gitlab-telegram-notify:latest
```