Static sites and SPAs, served from the edge
React, Vue, Svelte, Astro, and more - built from Git and published to our edge cache. No server to run, no app slot used. Push your code and it’s live and fast, close to every visitor.
14 days free. No credit card. No commitment.
Push to deploy
GitHub, GitLab, Bitbucket
Same price
On renewal, every year
99.99%
Uptime, last 12 mo
Daily
Backups kept up to 30 days
210+
Tasks Ellie handles
What you get
Edge hosting with a real Git pipeline
Connect a repository once. Every push builds your app and publishes it to the edge - with rollback always one click away.
Git push deploys
GitHub, GitLab, or Bitbucket over OAuth or a token. A push registers a webhook and triggers a build automatically.
Framework detection
React, Vue, Svelte, Astro, and dozens more recognized from your package.json. Build command and output directory set for you.
Served from the edge
Your build is published to our Cloudflare-backed edge cache and served close to your visitors - no origin server in the hot path.
SPA routing
Client-side routes get a proper fallback, so deep links and refreshes resolve to your app instead of a 404.
Rollback, kept forever
Static builds are retained indefinitely. Promote any earlier build back to live in seconds - no rebuild.
Automatic HTTPS
Point your domain at Hostney and SSL is issued and renewed for you. Everything is served over HTTPS by default.
Build-time env vars
VITE_, NEXT_PUBLIC_, REACT_APP_ and friends are available at build time. Mark any as a secret to seal its value.
No app slot used
Static apps don’t run a container, so they don’t count against your plan’s app allowance. Ship as many as you like.
How it works
Push. Build. Live at the edge.
Three Git providers, one pipeline. Choose ship-on-every-push, or build-and-hold until you promote it yourself.
Connect your repository
Link GitHub, GitLab, or Bitbucket via OAuth or a token, pick the repo and branch, and a push webhook is registered for you.
We detect and build
Each push clones the commit, detects your framework, runs your build in a resource-capped build container, and collects the output directory.
Publish to the edge
The build output is uploaded to our edge cache. On Auto deploy it goes live immediately; on Build only it waits until you promote it.
Build #v21
CurrentBuild log
✓ Detected Vite · npm
✓ vite build
✓ Collected dist/ (312 files)
✓ Published to edge
✓ Live · SPA fallback on
The pipeline
What happens between push and live
Five stages, and the last two are where this differs from a server-rendered app: nothing stays running afterwards.
Push
A commit lands on the tracked branch.
Detect
We read package.json and set the build command and output directory for you.
Build
Your build runs on Node 24, 22 or 20 in a resource-capped container, which then goes away.
Publish
The output directory is pushed to the edge cache. No server is left running.
Live
Deep links and refreshes on client routes resolve through the SPA fallback.
Bring your framework
Auto-detected from your package.json, with the build command and output directory set for you.
No server, on purpose
What static buys you here
A build with no container behind it is cheaper for us to run and simpler for you to reason about. Both of those show up in what you are allowed to do.
No app slot, no limit
A static site uses no container and no app slot, so the number you can run is not capped by your plan the way server-rendered apps are. Ship as many as you like.
Deep links just work
A refresh on /dashboard/settings resolves to your app through the SPA fallback rather than a 404. This is the thing most static hosts make you write a rewrite rule for.
Builds are kept indefinitely
Every successful build is stored as an artifact, and static ones are never pruned - server-rendered apps keep only the five most recent. Rolling back is a swap, not a rebuild.
Dependencies checked after the build
The packages a build installed are re-checked nightly against the public advisory database. It matters for a bundle too: anything that is not a build-only dependency is compiled into the JavaScript you ship to every visitor.
HTTPS on custom domains
Point a domain at it and the certificate is issued and renewed for you.
Detected
- React
- Vue
- Svelte
- Angular
- Astro
- SvelteKit
- Vite
- Gatsby
Build with
- Node 24
- Node 22
- Node 20
Pin it via
- .nvmrc
- .node-version
- package.json engines
Build-time variables are public
Need server-side rendering instead?
If your app renders on the server - Next.js, Nuxt, or a Node API behind it - it runs as a container rather than static files. Same Git pipeline, same one-click deploys, with a live process instead of cached output.
See Node.js & Next.js hostingPricing
Simple, transparent pricing
Every plan includes managed WordPress, SSH access, daily backups, and enterprise-grade security. Start with a 14-day free trial.
Startup
Great for growing businesses
$94.99 billed annually
- 1 website
- 10 GB storage
- ~10,000 visits/month
- 5 MySQL databases
- 250,000 inodes
- 5 FTP users
What's included:
SSL & Domain
- Free SSL certificate
- Free starter domain
- 2 mailboxes
- 3 GB per mailbox
- Webmail, IMAP and SMTP
Advanced
For professional websites
$179.99 billed annually
- 5 websites
- 20 GB storage
- ~110,000 visits/month
- 10 MySQL databases
- 500,000 inodes
- 10 FTP users
Everything in Startup, plus:
- 5 mailboxes
- 5 GB per mailbox
Backups
- 14 days of backup history
Performance
- Memcached object cache
- Redis object cache
Pro
Maximum performance and features
$274.99 billed annually
- 10 websites
- 40 GB storage
- ~200,000 visits/month
- 20 MySQL databases
- 750,000 inodes
- 20 FTP users
Everything in Advanced, plus:
- 10 mailboxes
- 10 GB per mailbox
Deployment
- 2 SSR applications
Backups
- 30 days of backup history
Monitoring
- 1 minute between checks
Ship it
Deploy your front-end in minutes
Connect a repo, push, and watch it go live at the edge. Included in every plan. Start free for 14 days, no credit card.
Questions