Open K0nkere opened 8 months ago
Можно запустить сервис локально (или через докер-образ) на порту и во втором терминале туннелировать его через ngrok. (пример для приложения на aiohttp)
from aiohttp import web
from aiohttp.web import Request, Response, json_response
async def main_function([):](request: Request) -> Response
response = await <...>
if response:
return json_response(data=response.body, status=response.status)
return Response(status=HTTPStatus.OK)
APP = web.Application(middlewares=[aiohttp_error_middleware])
APP.router.add_post("/endpoint", main_function)
if __name__ == "__main__":
try:
web.run_app(APP, host="0.0.0.0", port=3978)
except Exception as e:
raise e
Dockerfile
FROM python:3.10-slim-buster
RUN apt-get update
RUN apt install -y wget
RUN pip install -U pip
WORKDIR /app
COPY ["app.py", "requirements.txt", "./"]
RUN pip install -r requirements.txt
EXPOSE 3978
CMD ["python", "app.py"]
Туннелирование
ngrok http 3978 --authtoken <ngrok_auth_token>
Создание аккаунта и получение ngrok_authtoken
Launching NGROK
Docker-compose block
В папке запуска docker-compose.yml нужно создать файл
ngrok.yml
??? Ошибка 8012 отсутствия соединения NGROK с приложением: возможно необходимо запустить сервер apache2