172 похожих чатов

Всем привет, помогите пожалуйста понять логику. Есть приложение (Telegram-бот / Python

+ aiogram), в docker-compose контейнеры для Redis, PostgreSQL и сам Dockerfile. Всё работает, всё прекрасно. Шаблон бота здесь: ссылка.

Возникла необходимость ко всему этому подключить небольшое Web-приложение: Backend + Frontend. Бэк на FastAPI + Gunicorn + Uvicorn, фронт - Vuejs.

Вопрос - как лучше всего это сделать?

По сути, сайт это отдельное приложение, которое работает с БД-контейнером бота. Мне ничего не пришло в голову лучше, чем обновить Dockerfile, который предназначался для бота и в pyproject.toml бота добавить пакеты для моего Web-бэкэнда. Вроде работает, пока не тестил как следует, но у меня ощущение, что структуру я выбрал не самую удачную.

Только учусь работать с докером, поэтому прошу совета у знающих, как мне лучше это всё оформить. Код тут: https://gist.github.com/MyZik/2b069aca786d65e13bb05c03e0933992

6 ответов

40 просмотров

Наверное лучшем вариантом будет разбиение каждой сущности на контейнеры. то есть фрондент -> контейнер, бэкенд -> контейнер и так далее. Просто в твоем случае можно написать докер файлы для web/backend и web/frontend. Для фронта докер файл будет состоять с несколькими инструкциями from (сначала собираем статику например при помощи вебпака, потом закидываем в образ с проксей). ну и соответственно добавляем все это дело в докер-компоуз.

ᅠ- Автор вопроса

А разве у меня сейчас не так? 🤔

Смысл в том, что cron не будет висеть в контейнере, а будет на хосте, по расписания запуская контейнер с твоим скриптом. В Dockerfile для этого ничего прописывать не нужно

ᅠ- Автор вопроса

А разве у меня сейчас не так? 🤔

да, прошу прощения не заметил, файлик для фронта. но в любом случае я бы не совмещал бэк и бота в один контейнер, если они зависят только от бд.

Похожие вопросы

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Всем привет! Кто пользуется DevExpress, подскажите пожалуйста, реализован ли в TcxGrid в новых версиях поиск по датам как в Экселе (ну т.е. не просто список чекбоксов со значе...
A Z
4
Карта сайта