React Hosting
Push a Vite or Create React App project to GitHub and Chajio Cloud builds it and serves it over HTTPS on your own domain, with React Router routes that survive a refresh.
$ git push origin main
▸ Detected a Vite app: package.json, vite.config.ts
▸ npm ci
▸ npm run build
▸ Serving dist/ from a static web server
▸ Paths that aren’t files fall back to index.html
✓ Live: https://my-site.live.chajio.cloud
How it works
How we build and run your React app
Detect
A
package.jsonthat depends onviteorreact-scriptsmarks your app as a static site: files the browser runs, with no server of its own.Build
npm run buildruns with yourVITE_orREACT_APP_variables, which the build bakes into your JavaScript.Serve
The build folder (
distfor Vite,buildfor Create React App) is served over HTTPS. Any path that isn’t a real file gets yourindex.html, so client-side routes work.Update
Every push to your branch builds and publishes a new version. If one breaks something, roll back to the last good one in a click.
Get ready
Getting your React app ready
{
"engines": { "node": "22.x" }
}Optional. Without engines, your app builds on the current long-term-support release of Node.js; set it to build on the version you develop on. An .nvmrc file is not read.
VITE_API_URL=https://api.example.com
VITE_PAYSTACK_PUBLIC_KEY=pk_live_xxxxxxxxRead them in your code as import.meta.env.VITE_API_URL. Only variables with the VITE_ prefix (REACT_APP_ with Create React App) reach the build.
Works with
What you can run
Vite + React
What most new React projects use. Nothing to change.
Create React App
Served from its build folder.
React Router
Routes survive a refresh or a shared link.
Vue and Svelte on Vite
Any Vite app builds and serves the same way. See Vue.js hosting.
Server-rendered React
React Router framework mode and TanStack Start run as Node.js servers.
Next.js
Runs its own server. See Next.js hosting.
In production
Running your React app in production
Public values only
Everything in a VITE_ or REACT_APP_ variable ends up in the JavaScript your visitors download. API addresses and publishable keys, yes; database passwords and secret keys, never.
New value, new build
Build-time variables are fixed when your app is built. After changing one, accept the Redeploy prompt on the Environment tab: a restart would keep serving the old value.
Talking to your API
Deploy your API as its own app, set VITE_API_URL to its address, and allow your React app’s domain in the API’s CORS settings.
Vite is the safer bet
Create React App is no longer maintained. For a new project, start with Vite, which builds faster and deploys with no changes.
Every plan
Included on every plan
2 replicas of every app
Two copies behind a load balancer, so a restart or a failed machine never takes you offline.
A managed database
PostgreSQL, MariaDB or MongoDB, with its own standby replica on another machine.
Deploy on every push
Connect GitHub once; every push to your branch builds and goes live.
One-click rollbacks
Go back to any earlier successful deployment from the Deployments tab.
Free SSL, your domain
Certificates issued and renewed for you, plus a free .live.chajio.cloud address.
Build and runtime logs
Watch builds as they run, and see what your app prints as it serves visitors.
CPU, memory and network
Metrics for every app, from the last 15 minutes to the last 30 days.
Zero-downtime deploys
A new version takes visitors only once its health check passes.
Pricing
React hosting plans
Free Plan
5GB DB Storage · 2GB RAM
Then $3.50/mo
- 2 vCPU
- 2 Apps
- 1 Database
- 2 App Replicas (HA)
- 2 Database Replicas (HA)
- PostgreSQL, MariaDB or MongoDB
- Deploy from GitHub
- Auto-deploy on push
- One-click rollbacks
- Deployment history
- Build & runtime logs
- CPU, RAM, disk & network metrics
- Disk usage tracking
- Environment variables
- Custom domain
- Free SSL
Growth Plan
10GB DB Storage · 2GB RAM
- 3 vCPU
- 4 Apps
- 2 Databases
- 2 App Replicas (HA)
- 2 Database Replicas (HA)
- PostgreSQL, MariaDB or MongoDB
- Deploy from GitHub
- Auto-deploy on push
- One-click rollbacks
- Deployment history
- Build & runtime logs
- CPU, RAM, disk & network metrics
- Disk usage tracking
- Environment variables
- Custom domain
- Free SSL
Business Plan
20GB DB Storage · 4GB RAM
- 4 vCPU
- 6 Apps
- 3 Databases
- 2 App Replicas (HA)
- 2 Database Replicas (HA)
- PostgreSQL, MariaDB or MongoDB
- Deploy from GitHub
- Auto-deploy on push
- One-click rollbacks
- Deployment history
- Build & runtime logs
- CPU, RAM, disk & network metrics
- Disk usage tracking
- Environment variables
- Custom domain
- Free SSL
Pro Plan
30GB DB Storage · 8GB RAM
- 8 vCPU
- 10 Apps
- 5 Databases
- 2 App Replicas (HA)
- 2 Database Replicas (HA)
- PostgreSQL, MariaDB or MongoDB
- Deploy from GitHub
- Auto-deploy on push
- One-click rollbacks
- Deployment history
- Build & runtime logs
- CPU, RAM, disk & network metrics
- Disk usage tracking
- Environment variables
- Custom domain
- Free SSL
FAQ
React hosting questions
Yes. Any path that isn’t a real file is answered with your index.html, so React Router takes over and shows the right page, whether a visitor refreshes or opens a shared link.
No. Vite and Create React App projects are recognised, built with npm run build and served automatically. A Dockerfile is only worth adding for an unusual build.
They are copied into your JavaScript when the app is built, so only public values belong in them, and changing one needs a redeploy. Vite reads variables starting with VITE_, Create React App those starting with REACT_APP_.
Yes. Any Vite project builds and serves the same way as a React one; the Vue.js hosting page covers Vue in detail. Frameworks that render on a server, such as SvelteKit or Nuxt, run as Node.js apps instead.
Yes. Add it on the app’s Domains tab, prove you own it with a DNS record, and an SSL certificate is issued for it automatically. Every app also gets a free .live.chajio.cloud address.
You can start on the Free plan: free for your first month, then $3.50 a month, with 2 vCPU, 2GB RAM, 2 apps and a managed database. The Growth, Business and Pro plans add more CPU, memory, apps and databases as you grow.
Plans are priced and billed in US dollars, and you pay by card at checkout.
More App Hosting
Deploying something else?
Deploy your React app today
Your first month is on us, with a managed database and two replicas from day one.