/data/
- содержит в себе конфигурационные файлы:config.py
,loader.py
.config.py
отвечает за подгрузку данных из .env файла (mongo token),loader.py
отвечает за инициализацию mongo и redis баз данных./database/
содержит в себе файл с прописанной базой данных. Класс MongoDB/pages/
содержит в себе обработчики ендпоинтов /api/v1/message/ и /api/v1/messages.- Dockerfile для подгрузки fastapi сервиса в docker-compose, установка необходимых зависимостей.
web.py
- файл, ответственный за запуск fastapi сервиса. Получает роутер из/pages/messages
, добавляет CORS мидлварь.
bot.py
- файл, ответственный за логику и запуск ботаconfig.py
- файл конфигурации, нужен для подгрузки токена ботаloader.py
- файл, ответственный за инициализацию классов Bot и Dispatcher
- Файл
app.conf
отвечает за настройку nginx сервера. Сервер слушает 80 порт и перенаправляет запросы на localhost:8000, на котором запущен uvicorn.
Инициализируем сервисы: web(fastapi service), redis, tg_bot, nginx
- Сначала запускается redis бд
- Далее пускается fastapi service
- После него запускаются tg_bot и nginx сервер.
- В nginx даем доступ серверу к "интернету", прокладывая внешний порт 8082 и внутренний 80.