@Lobanov

Как реализовать SAAS с субдоменами на Django?

Всем привет.

Ребят, есть задача реализовать небольшой SAAS (в итоге оказалось, что задачка весьма большая) с следующими плюшками:

- У каждого клиента должен быть свой поддомен на нашем основном домене, т.е. customer1.example.com, customer2.example.com - при этом, данные домены должны задавать сами клиенты при регистрации. Быть может кто-то знает пакет для Django, который позволяет это реализовать используя подход "Одна база данных - Одна схема", т.е. в таблице добавляется поле tenant_id допустим ? Или может лучше юзать подход "Одна база - Один кастомер" ? (тут конечно встает вопрос в автоматизации создания данной базы под кастомера и целесообразно ли это?) (и может у кого-то есть инструкция, как настроить nginx чтобы клиенты могли к своим кастомным субдоменам прикручивать личные домены, т.е. например у клиента есть личный домен cabinet.site.ru, он у себя в DNS прописывает настройки, чтобы запросы с его cabinet.site.ru шли на customer1.example.com (который он зарегал у нас в SAAS сервисе) - при этом nginx на нашей стороне должен понимать к какому домену идет обращение)

- Сам сервис нужно сделать как SPA с использованием Vue для веб-морды, Graphene для бекенда, чтобы можно было юзать GraphQL - и тут вопрос, как скрестить это все дело, чтобы Vue мог понять, на каком домене открыто приложение и мог дать эту информацию бекенду ?

Понимаю, что вопрос весьма размытый, в текущий момент, не знаю как более конкретно его сформировать, т.к. уже 2 дня гуглю тему, как организовать multi tenancy на django и при этом, чтобы заюзать Vue и Graphene. Поэтому уже пришел сюда, буду благодарен любым ссылкам на материалы (это бы очень сильно помогло), мыслям, подсказкам, чтобы хоть как-то сдвинуться с места и структурировать у себя в голове инфу.

Заранее всех благодарю за ответы.
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ответы на вопрос 1
alternativshik
@alternativshik
Делаешь на беке миддлварю, которая будет из реквеста брать домен к которому обратились, по домену дальше определяешь своего кастомера, аутентифицируешь, авторизуешь и делаешь вообще что твоей душе угодно - роутинг БД, кастомные апи-эндпоинты и вообще все.
Nginx настраиваешь на обработку всех субдоменов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы