What this means
What this means
A static site is any site where all files are pre-built: HTML pages, CSS stylesheets, and JavaScript bundles. The platform serves these files directly via nginx. There is no database, no server process, and no runtime to configure. Ideal for landing pages, portfolios, documentation sites, and front-end apps that talk to an external API.
Before you start
Before you start
Build your site locally first (for example with npm run build, vite build, or hugo) and push the output to a public GitHub repository. The repo must contain a dist/, build/, out/, or public/ folder with an index.html inside. If no subfolder exists, index.html in the root is used.
Step-by-step guidance
Step-by-step guidance
- Purchase an App Hosting plan from the portal, or start a free 3-day trial from the Services page.
- Push your built static files to a public GitHub repository. Make sure index.html is inside a dist/, build/, out/, or public/ subfolder (or at the root).
- Navigate to Portal → Services and open your App Hosting service.
- In the Deploy App section, set Action to Deploy Static app and Runtime to static.
- Paste your GitHub repository URL (https://github.com/you/repo) into the Artifact Reference field.
- Leave the build and start command fields empty — the platform detects your output folder automatically.
- Click Redeploy App and wait up to 60 seconds for deployment to complete.
- Your site is live at your assigned domain. No database is provisioned for static sites.
What CM Cloud support will review
What CM Cloud support will review
Support verifies the repository URL is accessible, the output folder is detected correctly, and nginx is serving your files without errors.
What is not automated yet
What is not automated yet
This guide does not run a build step on the server, manage environment variables, create databases, or handle server-side rendering. If your app needs a build command (e.g. npm run build), run it locally and push the output, or contact support for a Node.js runtime instead.
Safety note
Safety note
Reading this article does not trigger payment, provisioning, DNS, registrar, Cloudflare, or provider changes.
Safe next action
Safe next action
Push your build output to GitHub, then open the deploy form on your service page.