Chajio Cloud
App Hosting

React Hosting in Kenya

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

  1. Detect

    A package.json that depends on vite or react-scripts marks your app as a static site: files the browser runs, with no server of its own.

  2. Build

    npm run build runs with your VITE_ or REACT_APP_ variables, which the build bakes into your JavaScript.

  3. Serve

    The build folder (dist for Vite, build for Create React App) is served over HTTPS. Any path that isn’t a real file gets your index.html, so client-side routes work.

  4. 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

package.json
{
  "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.

Environment tab
VITE_API_URL=https://api.example.com
VITE_PAYSTACK_PUBLIC_KEY=pk_live_xxxxxxxx

Read 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

Free 1st month

Then Ksh 350/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
Start Free

Growth Plan

10GB DB Storage · 2GB RAM

Ksh 899/mo
  • 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
Choose Growth
Most Popular

Business Plan

20GB DB Storage · 4GB RAM

Ksh 1,899/mo
  • 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
Choose Business

Pro Plan

30GB DB Storage · 8GB RAM

Ksh 3,798/mo
  • 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
Go Pro

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 Ksh 350 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.

Yes. We accept M-Pesa, Visa, Mastercard, PayPal, and bank transfers, and every plan is priced in Kenyan shillings. M-Pesa is the quickest option for Kenyan customers.

Deploy your React app today

Your first month is on us, with a managed database and two replicas from day one.