Перейти к содержимому

Публикация на других хостингах

КраткоMonstarX сам размещает ваше приложение, но его можно запустить и в собственном облачном аккаунте. Подключите Cloudflare, Vercel, Google Cloud, Railway, Azure или AWS в разделе «Облачные сервисы → Облако», а затем разверните приложение из меню «Опубликовать». База данных, вход, почта, файлы и ИИ остаются на своих местах; хостинг выставляет счёт напрямую вам.

По умолчанию кнопка Опубликовать размещает приложение на собственном хостинге MonstarX по адресу your-app.monstarx.app — это самый простой вариант, и большинству он подходит лучше всего. Но некоторым командам нужно, чтобы приложение работало в их собственном облачном аккаунте: из-за политики компании, действующего договора или чтобы счёт приходил на их имя. MonstarX умеет развёртывать приложения на шести хостингах.

ХостингГде работает приложениеЧто вы подключаетеБаза данных
MonstarX (по умолчанию)Облако MonstarX, адрес your-app.monstarx.appНичегоMonstarX Cloud
CloudflareВаш аккаунт Cloudflare, адрес workers.dev или один из ваших доменовТокен APIНовая база данных в вашем аккаунте Cloudflare
VercelВаш аккаунт VercelТокен доступа (и ID команды, если вы работаете в команде)Остаётся в MonstarX
Google CloudCloud Run в вашем проекте Google CloudКлюч сервисного аккаунта и регионОстаётся в MonstarX
RailwayВаш проект Railway, сборка из GitHubТокен API, ID проекта и ID окруженияОстаётся в MonstarX или переезжает в Railway Postgres
AzureAzure App Service в вашей подпискеСервисный аккаунт (tenant, client ID, секрет, подписка)Остаётся в MonstarX
AWSECS на Fargate в вашем аккаунте AWSСтек настройки, который вы создаёте по шаблону MonstarXОстаётся в MonstarX

«Остаётся в MonstarX» означает, что приложение продолжает пользоваться своими базой данных, входом, почтой, хранилищем файлов и ИИ — меняется только место, где работают его страницы. Ничего не копируется и не переносится, если в таблице не сказано иное.

Все шесть есть в разделе Облачные сервисыОблако, в списке подключений. Нажмите Подключить у нужного.

Когда хостинг подключён, меню Опубликовать предлагает его в блоке Другой подключённый хостинг внизу меню: Развернуть в Cloud Run, Развернуть в Railway, Открыть Vercel, Хостинг Azure или AWS. (С Cloudflare по-другому: он берёт на себя обычную кнопку Опубликовать сайт.)

Подключите токен API Cloudflare в разделе Облачные сервисыОблакоCloudflare и включите Запускать приложение в моём Cloudflare. С этого момента обычная кнопка Опубликовать сайт развёртывает приложение в вашем аккаунте: и приложение, и его база данных, и счёт — ваши. Рабочая база данных создаётся пустой и получает все таблицы; у предпросмотра остаются свои тестовые данные. Приложение отвечает по адресу workers.dev или на одном из ваших доменов в Cloudflare.

Подробное руководство: Запускайте приложение в своём аккаунте Cloudflare.

  1. В разделе Облачные сервисыОблако нажмите Подключить у Vercel. Откроется окно Публикация с помощью Vercel.

  2. Создайте токен доступа в настройках аккаунта Vercel (он должен уметь создавать развёртывания и управлять проектами), вставьте его, добавьте ID команды, если приложение принадлежит команде, и нажмите Подключить Vercel.

  3. При желании привяжите существующий проект Vercel по его ID или названию. Иначе при первом развёртывании будет создан новый.

  4. Нажмите Развернуть для предпросмотра, чтобы попробовать, или Развернуть в рабочей среде, чтобы выйти в сеть. В окне видны статус последнего развёртывания и ссылка на него.

В том же окне можно добавить домены в проект Vercel (Vercel покажет, какую запись DNS добавить, после чего нажмите Проверить DNS) и управлять блоком Переменные окружения. Секреты MonstarX копируются в Vercel при каждом развёртывании, поэтому после их изменения разверните приложение заново. Позже окно можно снова открыть через ОпубликоватьДругой подключённый хостингОткрыть Vercel. Кнопка Отключить отзывает доступ MonstarX; проект Vercel остаётся в сети.

  1. В Google Cloud создайте для MonstarX сервисный аккаунт и выдайте ему роли Cloud Run Admin, Cloud Build Editor, Artifact Registry Administrator, Storage Admin и Service Account User. Скачайте его ключ в формате JSON.

  2. В разделе Облачные сервисыОблако нажмите Подключить у Google Cloud, вставьте ключ и укажите регион Cloud Run (например, australia-southeast1).

  3. Откройте Опубликовать, раскройте блок Другой подключённый хостинг и нажмите Развернуть в Cloud Run.

MonstarX собирает приложение в контейнер в вашем проекте и запускает его в Cloud Run по собственному адресу Google на run.app. Приложение сохраняет базу данных MonstarX; чтобы использовать Firestore, а также вход и хранилище Firebase, подключите ещё и Firebase. Снять с публикации удаляет сервис Cloud Run, но оставляет файлы сборки и образы в вашем проекте Google Cloud.

  1. Сначала привяжите проект к репозиторию GitHub — Railway собирает приложение из него. Подробнее — в статье Сохраните проект на GitHub.

  2. В Railway создайте токен аккаунта или рабочего пространства (токен проекта не может создавать сервисы) и скопируйте ID проекта и ID окружения.

  3. В разделе Облачные сервисыОблако нажмите Подключить у Railway и вставьте их.

  4. Откройте Опубликовать, раскройте блок Другой подключённый хостинг и нажмите Развернуть в Railway. MonstarX синхронизирует репозиторий, а затем Railway собирает и развёртывает приложение. Пока меню Опубликовать открыто, статус обновляется.

Railway может также хранить данные приложения в Railway Postgres — подробнее в статье Railway. Снять с публикации удаляет сервис приложения в Railway; база данных Railway Postgres остаётся.

Подключите сервисный аккаунт (service principal) с ролью Contributor в вашей подписке Azure: укажите ID арендатора (Tenant ID), ID приложения (клиента), Секрет клиента, ID подписки и Регион Azure, затем нажмите Проверить и подключить. Откройте ОпубликоватьДругой подключённый хостингХостинг Azure и нажмите Развернуть в Azure.

MonstarX создаёт для приложения группу ресурсов, план App Service Basic B1 на Linux и веб-приложение. Развернуть последнюю версию обновляет его, Открыть приложение Azure открывает его, а Удалить приложение Azure удаляет приложение и его план из Azure.

Хостинг на AWS работает для приложений, созданных в MonstarX (не для импортированных), а подключение занимает чуть больше шагов, потому что MonstarX никогда не запрашивает пароли или ключи доступа AWS:

  1. В разделе Облачные сервисыОблако нажмите Подключить у AWS и выберите регион.

  2. Нажмите Скачать шаблон настройки, откройте AWS CloudFormation в этом регионе и создайте по шаблону стек, указав в поле Имя стека ровно то значение, которое показано. Подтвердите создание именованных ролей IAM.

  3. Когда стек будет создан, вставьте его выходное значение RoleArn в поле ARN роли для развёртывания и нажмите Проверить и подключить AWS.

  4. Откройте ОпубликоватьДругой подключённый хостингAWS и нажмите Развернуть в AWS.

Приложение работает на ECS Fargate (0,5 vCPU, 1 ГБ памяти, одна или две копии) за HTTPS-адресом AWS. В аккаунте должна быть сеть по умолчанию (VPC) с публичными подсетями как минимум в двух зонах доступности. Развернуть последнюю версию выпускает новую версию, Восстановить предыдущее развёртывание откатывает на один выпуск назад (изменения базы данных не отменяются), а Остановить хостинг AWS удаляет приложение. Ресурсы настройки, образы и секреты остаются в вашем аккаунте, пока вы сами не удалите стек настройки.

  • Cloud Run и Railway ждут, пока приложение уйдёт с хостинга MonstarX. Пока приложение опубликовано на хостинге MonstarX, кнопки Развернуть в Cloud Run и Развернуть в Railway остаются недоступными; чтобы переехать, сначала снимите приложение с публикации.
  • Свои домены, купленные или подключённые в меню Опубликовать в MonstarX, работают с хостингом MonstarX. В собственном аккаунте Cloudflare выберите один из своих доменов Cloudflare в его настройках; в Vercel добавьте домены в окне Vercel; на остальных хостингах используйте их собственные настройки доменов.
  • Хотите всё сделать сами? Экспортируйте код и разверните его где угодно.
Мне нужен другой хостинг?

Нет. Хостинг MonstarX работает сразу, с бесплатным адресом и HTTPS. Другие хостинги — для команд, которым нужно, чтобы приложение работало в их собственном облачном аккаунте.

Мои данные переедут при развёртывании на другом хостинге?

Нет. База данных, вход, почта, файлы и ИИ остаются на своих местах. Место хранения данных меняют только Cloudflare (новая база данных в вашем аккаунте) и Railway Postgres (если вы его добавите).

Кто платит за хостинг?

Хостинг выставляет счёт за свои услуги вашему собственному аккаунту.

Можно развернуть импортированное приложение на AWS?

Пока нет. Хостинг на AWS поддерживает приложения, созданные в MonstarX. Импортированные приложения можно разместить на других хостингах или экспортировать.

Что будет, если отключить хостинг?

MonstarX потеряет к нему доступ. Проект Vercel при этом останется в сети. Отключить Cloudflare, Google Cloud или AWS, пока приложение там опубликовано, MonstarX не даст — сначала снимите его с публикации.