Skip to content

Publish to other hosts

In shortMonstarX hosts your app for you, but you can also run it on your own cloud account. Connect Cloudflare, Vercel, Google Cloud, Railway, Azure or AWS under Backend → Cloud, then deploy from the Publish menu. Your app keeps its database, sign-in, email, files and AI where they are; the host bills you directly.

By default, Publish puts your app on MonstarX’s own hosting at your-app.monstarx.app — the simplest choice, and the right one for most people. Some teams need the app to run in their own cloud account: company policy, an existing contract, or wanting the bill in their own name. MonstarX can deploy to six hosts for you.

HostWhere the app runsYou connectIts database
MonstarX (default)MonstarX’s cloud, at your-app.monstarx.appNothingMonstarX Cloud
CloudflareYour Cloudflare account, at a workers.dev address or one of your domainsAn API tokenA new database on your Cloudflare account
VercelYour Vercel accountAn access token (and a team ID if you use one)Stays on MonstarX
Google CloudCloud Run in your Google Cloud projectA service account key and a regionStays on MonstarX
RailwayYour Railway project, built from GitHubAn API token, project ID and environment IDStays on MonstarX, or moves to Railway Postgres
AzureAzure App Service in your subscriptionA service principal (tenant, client ID, secret, subscription)Stays on MonstarX
AWSECS on Fargate in your AWS accountA setup stack you create from MonstarX’s templateStays on MonstarX

“Stays on MonstarX” means the app keeps using the database, sign-in, email, file storage and AI it already has — only where the app’s pages run changes. Nothing is copied or moved unless the table says so.

All six are under BackendCloud, in the connectors list. Click Connect on the one you want.

Once one is connected, the Publish menu offers it under Other connected hosting, at the bottom of the menu: Deploy to Cloud Run, Deploy to Railway, Open Vercel, Azure hosting or AWS. (Cloudflare is different: it takes over the normal Publish site button.)

Connect a Cloudflare API token in BackendCloudCloudflare and switch on Run this app on my Cloudflare. From then on the normal Publish site button deploys to your account: the app, its database and the bill are all yours. The live database starts empty and gets every table; the preview keeps its own practice data. The app answers at a workers.dev address, or at one of your own Cloudflare domains.

Full guide: Run your app on your own Cloudflare account.

  1. In BackendCloud, click Connect on Vercel. The Publish with Vercel window opens.

  2. Create an access token in your Vercel account settings (it must be able to create deployments and manage projects), paste it, add a Team ID if the app belongs to a team, and click Connect Vercel.

  3. Optionally link an existing Vercel project by its ID or name. Otherwise a new one is created on the first deploy.

  4. Click Deploy preview to try it, or Deploy production to go live. The window shows the latest deployment’s status and a link to it.

In the same window you can add domains to the Vercel project (Vercel shows the DNS record to add, then Verify DNS) and manage Environment variables. Your MonstarX secrets are copied to Vercel on every deploy, so redeploy after changing them. Later, reopen the window from PublishOther connected hostingOpen Vercel. Disconnect removes MonstarX’s access; your Vercel project stays online.

  1. In Google Cloud, create a service account for MonstarX and give it these roles: Cloud Run Admin, Cloud Build Editor, Artifact Registry Administrator, Storage Admin, and Service Account User. Download its JSON key.

  2. In BackendCloud, click Connect on Google Cloud, paste the key, and enter a Cloud Run region (for example australia-southeast1).

  3. Open Publish, expand Other connected hosting and click Deploy to Cloud Run.

MonstarX builds the app into a container in your project and runs it on Cloud Run, at Google’s own run.app address. The app keeps its MonstarX database; for Firestore and Firebase’s own sign-in and storage, connect Firebase as well. Unpublish deletes the Cloud Run service but leaves its build files and images in your Google Cloud project.

  1. Link the project to a GitHub repository first — Railway builds from it. See GitHub.

  2. In Railway, create an account or workspace token (a project token cannot create services), and copy your project ID and environment ID.

  3. In BackendCloud, click Connect on Railway and paste them.

  4. Open Publish, expand Other connected hosting and click Deploy to Railway. MonstarX syncs the repository, then Railway builds and deploys it. The status updates while the Publish menu is open.

Railway can also hold your app’s data in Railway Postgres — see Railway. Unpublish removes the app’s Railway service; a Railway Postgres database stays.

Connect a service principal with Contributor access to your Azure subscription: its Tenant ID, Application (client) ID, Client secret, Subscription ID and an Azure region, then Verify and connect. Open PublishOther connected hostingAzure hosting and click Deploy to Azure.

MonstarX creates a resource group, a Basic B1 Linux App Service plan and a web app for it. Deploy latest version updates it, Open Azure app visits it, and Remove Azure app deletes the app and its plan from Azure.

AWS hosting works for apps MonstarX built (not imported apps), and connecting it takes a few more steps because MonstarX never asks for AWS passwords or access keys:

  1. In BackendCloud, click Connect on AWS and choose a region.

  2. Click Download setup template, open AWS CloudFormation in that region, and create a stack from it with the exact Stack name shown. Acknowledge the named IAM roles.

  3. When the stack finishes, paste its RoleArn output into Deployment role ARN and click Verify and connect AWS.

  4. Open PublishOther connected hostingAWS and click Deploy to AWS.

The app runs on ECS Fargate (0.5 vCPU, 1 GB memory, one or two copies) behind AWS’s HTTPS address. Your account needs a default network (VPC) with public subnets in at least two availability zones. Deploy latest version releases a new version, Restore previous deployment goes back one release (database changes are not undone), and Stop AWS hosting removes the app. Setup resources, images and secrets stay in your account until you remove the setup stack yourself.

  • Cloud Run and Railway wait for MonstarX hosting to stop. While the app is live on MonstarX’s hosting, the Deploy to Cloud Run and Deploy to Railway buttons wait; unpublish first to move there.
  • Custom domains bought or connected in MonstarX’s Publish menu apply to MonstarX hosting. On your own Cloudflare account, pick one of your Cloudflare domains in its settings; on Vercel, add domains in the Vercel window; on the other hosts, use the host’s own domain settings.
  • Prefer to do it yourself? Export your code and deploy it anywhere.
Do I need another host?

No. MonstarX hosting works out of the box, with a free address and HTTPS. Other hosts are for teams that need the app in their own cloud account.

Does my data move when I deploy to another host?

No. The app keeps its database, sign-in, email, files and AI where they are. Only Cloudflare (a new database on your account) and Railway Postgres (if you add it) change where data lives.

Who pays for the hosting?

The host bills your own account for the hosting it provides.

Can I deploy an imported app to AWS?

Not yet. AWS hosting supports apps MonstarX built. Imported apps can use the other hosts or be exported.

What happens if I disconnect a host?

MonstarX loses access. For Vercel, the Vercel project stays online. MonstarX refuses to disconnect Cloudflare, Google Cloud or AWS while the app is still live there — take it down first.