Aiogram bot. Webhook. Помогите
У меня такая вещь. Написал код на aiogram. Сделал webhooks
from apscheduler.schedulers.background import BackgroundScheduler
import datetime
import pytz
from telegram_bot.bot.functions.reg_routers import reg_routers
from telegram_bot.database.databases.createdatabase import createdatabase
import tracemalloc
import sqlite3
import logging
from contextlib import asynccontextmanager
import uvicorn
from fastapi import FastAPI
from aiogram import Bot, Dispatcher, types
from aiogram.fsm.storage.memory import MemoryStorage
from telegram_bot.bot.cfg import TOKEN, WEBHOOK_URL
#вебхуки
logger = logging.getLogger(__name__)
WEBHOOK_PATH = f"/bot/{TOKEN}"
WEBHOOK_URL = f"{WEBHOOK_URL}" + WEBHOOK_PATH
storage = MemoryStorage()
bot = Bot(token=TOKEN, parse_mode="HTML")
dp = Dispatcher(storage=storage)
reg_routers(dp)
tracemalloc.start()
createdatabase()
@asynccontextmanager
async def lifespan(app: FastAPI):
await bot.set_webhook(url=WEBHOOK_URL)
yield
await bot.delete_webhook()
app = FastAPI(lifespan=lifespan)
@app.post(WEBHOOK_PATH)
async def bot_webhook(update: dict):
telegram_update = types.Update(**update)
await dp.feed_update(bot=bot, update=telegram_update)
if __name__ == "__main__":
logging.basicConfig(
level=logging.INFO,
format=u'%(filename)s:%(lineno)d #%(levelname)-8s [%(asctime)s] - %(name)s - %(message)s',
)
uvicorn.run(app, host="0.0.0.0", port=8000)
#вебхуки
Так вот, код этот работает полностью с ngrok, но как мне перенести его на сервер linux ubuntu 22.04 . Я понимаю что через nginx , но как???