Skip to content
Production engineering showcase

Self-hosted Astro business stack on your VPS.

Dockerized SSR sites with GitHub OAuth CMS, CI/CD via GitHub Actions, and optional Notion, Supabase, Resend, and Cal.com integrations.

Astro Docker GitHub Actions Decap CMS Hetzner Tailwind CSS Supabase Notion Resend Cal.com
Walkthrough

See the stack in action

A short demo of the deploy pipeline, CMS auth flow, and integration layer. Record your walkthrough and set PUBLIC_DEMO_VIDEO_URL when ready.

Demo video coming soon

How the platform works.

1

Push to GitHub.

main → production, develop → test. GitHub Actions SSHs into the VPS and rebuilds containers.

2

Containers on web-public.

Astro app (SSR) + OAuth gateway share an external Docker network. Nginx Proxy Manager routes TLS.

App: Astro SSR Auth: OAuth gateway
3

Edit content via Decap.

GitHub OAuth gateway issues CMS tokens. Content commits flow back to the repo branch.

Stack capabilities

Astro SSR + Design System

Server-rendered pages, i18n routing, typed content collections, and a full component library.

Rendering: Astro SSR Locales: 4 Deploy: 2 containers
Astro Tailwind CSS
Multi-locale SSR article

CI/CD + Docker

Multi-stage Dockerfile with BuildKit cache. Rolling image tags for quick rollback on the VPS.

Docker GitHub Actions
CMS workflow article

Business Integrations

Lead capture with Notion CRM, Resend email, Supabase analytics, and Cal.com booking per locale.

Notion Supabase Resend
Lead funnel article

Live deployments

Production sites running on the same VPS platform this stack powers.

SSR Integrations i18n

Iluro Digital

Agency site with Supabase analytics, Notion CRM, Resend, and Cal.com booking.

Decap CMS Docker GitHub Actions

Da Sandro Mataró

Restaurant CMS with Decap content editing and multi-locale menu collections.

Frequently asked questions before we start.

What is Astro Business Stack?
A production-ready template for marketing sites: Astro 6 SSR, Docker, self-hosted GitHub OAuth for Decap CMS, GitHub Actions deploys to a VPS, and optional Notion, Supabase, Resend, and Cal.com integrations.
Can I run it without a VPS?
Yes. Use `pnpm dev` locally for development. Docker Compose runs the same app and auth-gateway containers you deploy to production.
How does the CMS authentication work?
Decap CMS loads at `/admin`. A separate Express gateway container handles GitHub OAuth and returns a token to the CMS — no third-party auth SaaS required.
Are integrations required?
No. Each integration is optional and controlled via environment variables. The site runs without Notion, Supabase, or Resend; lead flows degrade gracefully.
What upstream project is this based on?
The UI foundation comes from Southwell Velocity (Astro 6 + Tailwind v4). This repo adds VPS deployment, OAuth gateway, CI/CD, and business integrations.

Explore the

Clone the stack, read the deployment docs, and adapt it to your own VPS or client projects.