static-deploy
An OpenClaw agent skill for deploying static sites and SPAs with zero-config hosting.
What it does
Section titled “What it does”Guides an AI agent through the full deployment pipeline:
- Dockerfile — multi-stage build with Bun +
beeman/static-server - GitHub Actions — multi-arch Docker image build, push to GHCR
- Dokploy — compose setup with domain, TLS, and auto-deploy via webhook
The build runs entirely on GitHub Actions — zero resources used on your server.
The stack
Section titled “The stack”| Component | Role |
|---|---|
| beeman/static-server | Serves the static build with SPA routing, brotli compression, env passthrough |
| GitHub Actions | Builds the Docker image on push to main |
| GHCR | Hosts the container image |
| Dokploy | Deploys and routes via Traefik with automatic TLS |
git push → GitHub Actions builds image → pushes to GHCR → webhook triggers Dokploy → liveWorks with
Section titled “Works with”Any static site generator that outputs to a directory:
- Astro / Starlight
- Vite (React, Vue, Svelte, etc.)
- Next.js (static export)
- Any framework with a
buildcommand that outputs static files
Features (from beeman/static-server)
Section titled “Features (from beeman/static-server)”- SPA routing — client-side routing works out of the box
- Brotli + gzip — automatic compression negotiation
- Runtime env vars —
ENV_*vars available at/__/env.json - Health check —
/__/healthfor monitoring - Multi-arch — runs on amd64 and arm64