Guides

Deploy an app in one click with BMH Apps

You built something with Cursor, Claude, Lovable or Bolt and it runs on your laptop. This guide gets it onto the internet on HTTPS without learning Docker, Nginx or Linux: start from a template, point at your own Git repository, or install a ready-made app from the store.

Updated · Prices read live from the BookMyHost Cloud rate card, in INR, excluding GST.

Before you start

You need a BookMyHost account with eKYC done. Indian CERT-In rules require every cloud customer to be verified, including on free plans, and it is a one-time check.

Then create an app server under Apps in the panel. Hobby is free, runs one app on a shared sandbox and sleeps when nobody visits. Starter, Pro and Business give you a private server for several apps, databases and your own domain. The plans are compared on the app hosting page.

Option 1: start from a starter template

Templates are small working apps that deploy as they are, so you can see the whole path work before changing any code. Next.js, Vite + React, Express, FastAPI, Django, Laravel and a plain static site are available, and all of them run on Hobby.

  1. Pick a template

    On the app hosting page click Deploy in one click next to the framework you want, or open Apps → App Store in the panel.

  2. Choose the app server

    If you have one app server it is picked for you. If you have none, the page offers to create a free Hobby server first.

  3. Click Install

    The template is built and started. Framework secrets such as a Django SECRET_KEY or a Laravel APP_KEY are generated and set as environment variables for you.

  4. Open the address

    Your app is served at its own name under apps.bookmyhost.com on HTTPS. The page shows a "your app is live" message.

  5. Make it yours

    Copy the template into your own Git repository, change the code, and switch the app to that repository from its settings.

Option 2: deploy your own Git repository

Push your project to GitHub, GitLab or any Git host, then add an app on your app server and paste the repository URL and branch. BMH Apps detects the language (Node.js, Python, PHP, Go, Ruby or static files), installs the dependencies, builds and starts it.

Your app has to listen on the port it is told to. Read the PORT environment variable and bind to 0.0.0.0, not localhost. Most frameworks do this already; for Express it is app.listen(process.env.PORT).

  • Set API keys and database URLs as environment variables in the app settings, never in the repository.
  • Use the Logs tab when a build fails. The last lines usually name the missing package or the wrong start command.
  • Click Redeploy after you push new code.
  • Paid plans can also build from a Dockerfile in the repository.

Option 3: install an app from the App Store

The App Store installs popular open-source software in one click: WordPress, Ghost, n8n, Flowise, Open WebUI, Uptime Kuma, Umami, Vaultwarden, Gitea, NocoDB, PostgreSQL, Redis and more. Each app gets its own HTTPS address, and any passwords it needs are generated and shown to you once. Save them when they appear.

Most store apps need a database or more memory than the free sandbox has, so they start at the Starter plan. The store shows the minimum plan next to every app.

Add your own domain

On paid plans, open the app, go to Domains, and add your domain. Create the CNAME record the panel shows at your DNS provider. The certificate is issued and renewed automatically once the record resolves. Hobby apps keep their apps.bookmyhost.com address.

Things that trip people up

  • Free apps sleep when idle and wake on the next visit, so the first request after a quiet spell takes a few seconds. Paid plans never sleep.
  • Outbound email ports are closed. Send mail through an email API over HTTPS instead of SMTP.
  • Files written inside the app are lost on redeploy unless they are in a database or object storage. Use PostgreSQL, or BookMyHost S3 for uploads.
  • SQLite works on Hobby, but move to PostgreSQL before real users arrive.
  • Deploying your own Laravel app? Copy nginx.template.conf from the Laravel starter into the root of your repository. Without it the web server sees two conflicting routes and the app does not start.
FAQ

Questions on this guide

Do I need to know Docker or Linux?

No. The build, container, web server and certificate are handled for you. You work with your code, environment variables and the logs.

Is there a free plan?

Yes. Hobby is free and runs one app on a shared, sandboxed pool with HTTPS on an apps.bookmyhost.com address. It sleeps when idle.

Which frameworks are supported?

Anything a buildpack can detect, including Next.js, React with Vite, Express, FastAPI, Flask, Django, Laravel, Go and static sites. Paid plans can also use a Dockerfile.

Where are the apps hosted?

In the BookMyHost datacentre in Noida, on our own network with DDoS protection. The data stays in India.

Deploy your first app free

Create an account, complete eKYC once, and put a template or your own repo on HTTPS.

See app hosting
WhatsApp