# Первый запуск ассистента Есть несколько способов запустить бота-помощника. Бот был спроектирован таким образом, чтобы работать локально на вашем ПК, но вы можете запустить его на сервере в режиме 24/4. Для начала выполните эти действия: 1. [Создание бота в Telegram](creating-telegram-bot.md) 2. [Получение персонального токена в GitLab](create-gitlab-token.md) ## Конфигурация Вне зависимости от того, какой способ вы выберете, необходимо будет указать данные переменные среды: * `TELEGRAM_BOT_TOKEN` — токен, который вы получили при [создании бота](creating-telegram-bot.md). * `TELEGRAM_BOT_USERNAME` — название, которое вы дали боту. Оканчивается на bot. * `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` * `DATASOURCE_USERNAME` — пользователь БД * `DATASOURCE_PASSWORD` — пароль от БД ## Запуск Docker Compose Самый простой способ запустить ассистента, - это 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 ``` ## Запуск 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 ```