Documentation
Mahsumah Cloud documentation
How the platform works, and how to deploy your app, connect a domain, secure it with SSL, and track its uptime and invoices. Everything here describes a real system running from a data center in Riyadh.
What you can do today
Request a deployment
Connect GitHub and import a repository. Our team provisions the container, vhost, and SSL for you.
Open →Connect a domain
Point your domain's nameservers to ns1 / ns2.mahsumaah.sa and we manage the zone records.
Open →Check platform status
Our public status page shows uptime and latency, refreshed from checks every five minutes.
Open →Open a support ticket
Raise a ticket from the dashboard. The operations team reviews and responds to each request.
Open →How the platform works
Every site hosted on Mahsumah Cloud runs inside an isolated Docker container on a Huawei Cloud ECS server in Riyadh, Saudi Arabia. Your data stays inside the Kingdom.
An Nginx reverse proxy sits in front. Each site gets its own Nginx virtual host (vhost) and a dedicated internal port that Nginx routes traffic to. Next.js apps are built in standalone mode and run behind that proxy.
- Isolation: each site runs in its own container and does not share application runtime with others.
- Data residency: hosting is entirely in Riyadh; site data is not moved outside the Kingdom.
- HTTPS enforced: all traffic is served over HTTPS with a valid certificate.
Getting started
To go live you need three things: a plan, a repository for your app, and a domain (optional at first — we give you a temporary subdomain to start).
- Choose a plan on the pricing page: Basic 199, Pro 399, or Business 799 SAR per month.
- Start a deployment request from the new project page by connecting GitHub and importing your repository.
- Once the site is running, connect your custom domain and we issue its SSL certificate automatically.
Deploying your app
Live — automated self-serve
Deployments are Git-based and automated: we clone your repository, detect the framework, build it in an isolated sandbox, then run it as a non-root container with SSL — with no human in the loop (Node and static apps). Automatic redeploy on every push is rolling out.
The steps:
- Connect your GitHub account and select the repository you want to deploy.
- Our team provisions the project: an isolated container, an Nginx vhost, an internal port, and the first build.
- After a successful build the site runs behind HTTPS on a temporary subdomain, then you connect your domain.
Later updates go through the same cycle: update the code, then rebuild and run. Track deployment progress from the project page.
Ready to start? Request a deployment.
Custom domains & DNS
Mahsumaah runs its own authoritative nameservers (BIND9) on ns1.mahsumaah.sa and ns2.mahsumaah.sa. You have two ways to connect a custom domain.
Option 1 — point your nameservers (recommended): In your domain registrar's dashboard, replace the current nameservers with ours. From then on we manage the whole zone (A / AAAA / CNAME / MX / TXT records) for you.
ns1.mahsumaah.sa
ns2.mahsumaah.saOption 2 — an A record: If you prefer to keep DNS at your current provider, add an A record for the root domain (and www) pointing to the server IP we give you.
example.sa. A <server-ip>
www.example.sa. A <server-ip>DNS changes can take some time to propagate. Once propagation completes, we issue the domain's SSL certificate automatically. Follow the connection steps on the domains page.
SSL certificates
We issue SSL certificates from Let's Encrypt via certbot, auto-renewed for every domain (and its www variant). There is no manual setup on your side.
- Automatic issuance starts as soon as the domain correctly points to our server.
- Renewal is automatic before expiry, with no action required from you.
- HTTPS is enforced; HTTP requests are redirected to HTTPS.
Backups
Automated daily backups run for sites on managed cPanel/WordPress hosting, and are rolling out for PaaS apps. If you need a restore, open a support ticket and the operations team handles it.
Read more about backups on the backups page.
Monitoring & status
We check every site every five minutes over HTTPS. Each check records status (up / down), latency, and a rolling uptime figure. When status changes, the operations team is alerted.
Public status is available to everyone on the status page, showing current uptime and latency.
Billing & invoices
Payments are in Saudi riyals (SAR) via Moyasar. Plans: Basic 199, Pro 399, Business 799 SAR per month.
ZATCA-compliant tax invoices are issued for each payment.
Review plans and what they include on the pricing page.
Support & tickets
Support is through in-app tickets and email. Open a ticket from the dashboard and the operations team reviews and responds to each request.
- Open a ticket from the support center in your dashboard.
- For anything before you sign up, contact us.
- For security details and data residency, see the security page.