Astro is one of the best frameworks for building fast, content-driven websites. Blogs, docs, marketing sites, portfolios — Astro handles all of them and ships almost zero JavaScript to the browser.
But when it’s time to get your Astro site online, the options are either limited or complicated.
The Usual Options
Cloudflare Pages / Netlify / Vercel: Great for static Astro sites. But the moment you add SSR, API endpoints, server-side auth, or a database — you’re fighting the platform. Serverless adapters, edge runtime quirks, vendor lock-in.
VPS (DigitalOcean, Hetzner, etc.): Full control, but now you’re configuring nginx, SSL, a process manager, DNS, and figuring out how to ship your built files to the server. 30+ minutes of setup.
Docker: Works, but writing a Dockerfile for a static site feels like overkill.
There’s a simpler path.
Deploy with One Command
Here’s how to deploy an Astro site on InstaPods:
$ cd my-astro-site
$ npm run build
$ cd dist
$ instapods deploy my-site --preset static
Deploying my-site
Detected static (preset)
Creating pod ·················· ✓ 1.2s
28 files uploaded ············· ✓ 0.6s
Reloading ····················· ✓ 0.4s
nginx active · HTTP 200
✓ Deployed in 2.2s
→ https://my-site.instapods.app
Your Astro site is live with HTTPS. No configuration. No build pipelines. No YAML.
Step by Step
1. Install the CLI
$ curl -fsSL https://instapods.com/install.sh | sh
Works on macOS and Linux.
2. Build Your Astro Site
$ cd my-astro-site
$ npm run build
Astro outputs static files to dist/ by default.
3. Deploy
$ cd dist
$ instapods deploy my-site --preset static
The --preset static tells InstaPods this is a static site. It creates a pod with nginx pre-configured to serve your files, HTTPS included.
That’s it. Three commands.
Updating Your Site
Made changes? Build and deploy again:
$ npm run build
$ cd dist
$ instapods deploy my-site --preset static
It detects the pod exists, syncs only changed files, and reloads nginx. Under 2 seconds.
Or connect a GitHub repo for auto-deploy:
$ instapods git connect my-site --repo yourname/my-site --branch main
Every push to main builds and deploys automatically.
What About Astro SSR?
If you’re using Astro’s server-side rendering with the Node adapter, deploy as a Node.js app instead:
$ npm run build
$ instapods deploy my-ssr-site
The CLI detects package.json and deploys it as a Node.js app. Your Astro SSR server runs on a real Linux server — no edge runtime limitations, no adapter quirks. You get full Node.js with access to the file system, databases, and anything else you’d run on a server.
Custom Domains
Point your domain at InstaPods and it handles the rest:
$ instapods domains add my-site yourdomain.com
SSL certificates are provisioned automatically. No certbot, no DNS challenges, no waiting.
What You Actually Get
Your pod is a real Linux server, not a CDN edge function:
- nginx serving your static files with gzip, caching headers, and HTTPS
- SSH access —
instapods ssh my-siteto poke around - Persistent file system — your files stay between deploys
- Web terminal — run commands from the browser dashboard
- Custom domains with automatic SSL
For SSR sites, you also get Node.js 20, a process manager, and the option to add databases (MySQL, PostgreSQL, Redis) with one command.
We Use It Too
The site you’re reading this on — instapods.com — is an Astro site deployed on InstaPods. Same workflow: npm run build, deploy the dist/ folder. We practice what we preach.
Pricing
Static sites run great on the Launch plan at $3/mo (0.5 vCPU, 512MB RAM, 10GB disk). That’s more than enough for a blog, docs site, or marketing page.
Flat pricing. No bandwidth charges. No per-request billing. Your site could get 100 visitors or 100,000 — same bill.
TL;DR
Static Astro site:
npm run build
cd dist
instapods deploy my-site --preset static
Astro SSR (Node adapter):
npm run build
instapods deploy my-site
One command. Live URL with HTTPS. Under 60 seconds.
Try InstaPods → — Deploy your Astro site in seconds. Starts at $3/mo.