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:

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.