- О проекте
- Требования
- Быстрый старт
- Функционал
- Технологии
- Разработка
- Стиль кода
- Авторы
- Лицензия
- Решение проблем
Будет добавлено позже
Для корректной работы проекта, необходимо:
- Доменное имя. Telegram не поддерживает подключение WebHook по IP-адресу и без SSL-сертификата.
- Telegram Bot Token. Его можно создать с помощью BotFather.
- Telegram Chat ID:
- Для личных сообщений от бота:
1234567. - Для небольшой группы:
-1234567 - Для большой группы/супергруппы:
-1001234567 - Важно:
- Для личных сообщений необходимо начать диалог с ботом.
- Для групп необходимо добавить бота в группу и дать ему минимальные права администратора, чтобы он смог отправлять сообщения.
- Для личных сообщений от бота:
- (Необязательно) Telegram Chat Thread ID. Необходим для отправки сообщений в определённую тему в супергруппе.
Для того чтобы запустить проект, достаточно выполнить несколько шагов:
- Подключитесь по SSH к серверу и в удобном месте создайте директорию для проекта:
mkdir taigram && cd taigram
- Скачайте конфигурационный файл и пропишите настройки:
-
Скачайте файл:
mkdir -p config && wget -O config/settings.yaml https://raw.githubusercontent.com/proDreams/taiga_wh_notifier/refs/heads/main/config/settings.prod_example.yaml -
Откройте файл для редактирования:
nano config/settings.yaml
-
Замените следующие параметры:
ADMIN_IDS- пропишите через-список главных администраторов бота.ERRORS_CHAT_ID- пропишите идентификатор чата, в который будут отправляться сообщения об ошибках.- (необязательно)
ERRORS_THREAD_ID- пропишите идентификатор темы в супергруппе, если не требуется, оставьте пустым. WEBHOOK_DOMAIN- пропишите доменное имя.- (необязательно)
DEFAULT_LANGUAGE- измените язык интерфейса бота по умолчанию. - (необязательно/Важно)
TIME_ZONE- пропишите желаемую временную зону. По умолчаниюEurope/Moscow. TELEGRAM_BOT_TOKEN- пропишите токен Telegram-бота.DB_URL- замените:twhn_user- на собственное имя пользователя БД.twhn_password- на собственный пароль БД.
- (необязательно)
DB_NAME- пропишите имя базы данных. По умолчаниюtaigram.
С другими доступными параметрами конфигурации, можно ознакомиться в документации (скоро будет).
-
Сохраните и выйдите, нажав
CTRL+S, затемCTRL+X.
-
- Создайте
.env-файл, заменив значенияMONGO_USERNAMEиMONGO_PASSWORDна прописанные ранее вsettings.yaml:cat <<EOF > .env MONGO_USERNAME=twhn_user MONGO_PASSWORD=twhn_password EOF
- Скачайте
docker-compose-файл:- Если у вас настроен свой веб-сервер (Caddy/NGINX/etc..):
- Скачайте
docker-compose.yaml:wget -O docker-compose.yaml https://raw.githubusercontent.com/proDreams/taiga_wh_notifier/refs/heads/main/docker-compose.yaml
- Откройте файл для редактирования:
nano docker-compose.yaml
- Раскомментируйте в самом конце блок
networks, заменив<network_name>на имя сети вашего веб-сервера, например:networks: default: name: caddy-network external: true
- Сохраните и выйдите, нажав
CTRL+S, затемCTRL+X.
- Скачайте
- Если на сервере нет своего веб-сервера:
- Скачайте
docker-compose.yaml:wget -O docker-compose.yaml https://raw.githubusercontent.com/proDreams/taiga_wh_notifier/refs/heads/main/docker-compose.caddy.yaml
- Скачайте
Caddyfile:mkdir -p caddy && wget -O Caddyfile https://raw.githubusercontent.com/proDreams/taiga_wh_notifier/refs/heads/main/caddy/Caddyfile - Откройте файл для редактирования
nano caddy/Caddyfile
- Замените
example.example.comна ваше доменное имя. - Сохраните и выйдите, нажав
CTRL+S, затемCTRL+X.
- Скачайте
- Если у вас настроен свой веб-сервер (Caddy/NGINX/etc..):
- Запустите проект:
sudo docker compose up -d
- Когда бот запустится, вы получите уведомление в Telegram:
Service Notification: Bot started. /start
Будет добавлено позже
Будет добавлено позже
Смотри подробное руководство в CONTRIBUTING-RU.md. Дополнения будут добавлены позже
Смотри STYLEGUIDE-RU.md Дополнения будут добавлены позже
- Разработка:
- Дизайн:
Программа написана в рамках проекта "Код на салфетке":
- Сайт: https://pressanybutton.ru/
- Telegram-канал: https://t.me/press_any_button
Этот проект распространяется под лицензией MIT. Подробности можно найти в файле LICENSE.
Позже будет перенесено в документацию
Проблема: Не запускается MongoDB с ошибкой "не поддерживается процессор без AVX-инструкций"
Решение:
-
Открыть
docker-compose.yamlдля редактирования:nano docker-compose.yaml
-
Найти и заменить следующие строки:
image: mongoнаimage: ghcr.io/flakybitnet/mongodb-server:7.0.16-fb2MONGO_INITDB_ROOT_USERNAME: ${MONGO_USERNAME}наMONGODB_ROOT_USER: ${MONGO_USERNAME}MONGO_INITDB_ROOT_PASSWORD: ${MONGO_PASSWORD}наMONGODB_ROOT_PASSWORD: ${MONGO_PASSWORD}
Итоговый вид сервиса
mongo:mongo: image: ghcr.io/flakybitnet/mongodb-server:7.0.16-fb2 container_name: taigram_mongo restart: always environment: MONGODB_ROOT_USER: ${MONGO_USERNAME} MONGODB_ROOT_PASSWORD: ${MONGO_PASSWORD} volumes: - taigram_mongo_db:/data/db healthcheck: test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet interval: 10s timeout: 10s retries: 5
-
Сохраните и выйдите, нажав
CTRL+S, затемCTRL+X. -
Запустите проект:
sudo docker compose up -d
