Skip to content
Static site hosting

Static websites, built and served with HTTPS

If your repo has an index.html at the root, we serve it exactly as it is, no build step needed. If it has a package.json with a build script and no server framework, we build it and serve the output: dist for Astro and Vite, public for Gatsby, build for Create React App and the configured outputPath for Angular. Everything is served by Caddy with gzip and an SPA fallback.

Free staging (0.25 vCPU · 256 MB · 1 GB) · Live from ₹118.50/month, billed hourly · No servers to manage

What we detect

Sensible Static site defaults, no config files.

When you connect the repository we read it and fill in the build settings below. Every value can be changed in the app’s settings — see build settings.

Runtime
Static site (Caddy)
Port
80
Build command
None for plain HTML; npm run build for Astro, Gatsby, Angular or Vite
Start command
Served as static files (no start command)
Step by step

Deploy Static site in minutes.

  1. 1

    Put index.html at the root

    For a hand-written site, make sure index.html sits at the repo root, or set Folder with your app to the folder that contains it, such as site.

  2. 2

    Or keep your generator's build script

    Astro, Gatsby, Angular and Vite projects just need their normal build script in package.json. We pick the right output folder.

  3. 3

    Create the app

    In New app pick your repo and branch, or choose Static website under How to build it to skip detection.

  4. 4

    Preview on staging

    Every push lands on the free staging address first. Share it for review before the change goes public.

  5. 5

    Go live with your domain

    Click Go live and add www.yourdomain.com in the Domains tab with a CNAME record. HTTP redirects to HTTPS automatically.

Tips

Running Static site well in production.

Staging is free

Every app gets a staging copy in a free, lightweight Docker container (0.25 vCPU · 256 MB · 1 GB). It pauses after 7 days without a deploy — one click starts it again.

  • Root domains like example.com usually cannot take a CNAME. Use www and redirect the root to it at your registrar, or use a DNS provider with CNAME flattening.
  • On Cloudflare, keep the record on DNS only (grey cloud) until the certificate is issued.
  • Angular's application builder writes to outputPath/browser; we add /browser automatically, so you do not need to change angular.json.
  • Because unknown paths return index.html, a missing page shows your home page rather than a 404. Multi-page sites can add a client-side not-found check if that matters.
  • Static sites need almost no resources: live at 0.25 vCPU, 256 MB and 1 GB is ₹118.50 a month, and staging is free.
Do I need a build step for plain HTML?

No. With an `index.html` at the root and no `package.json`, files are served exactly as committed.

Is Hugo or Jekyll supported?

They are not auto-detected. Commit the generated output with an `index.html`, or add a Dockerfile that builds the site and serves it.

Can I deploy from a public Git URL instead of GitHub?

Yes. Paste an `https://` or `git@` URL and branch. Without GitHub connected, deploy updates with the Deploy button.

Ship your Static site app today.

Create an account, connect your repository and get a free staging copy plus a live HTTPS address in minutes.