Skip to main content

Docusaurus & Sveltia CMS

The documentation site at docusaurus.augustin.ai is built with Docusaurus and hosted on Cloudflare Pages. Content is edited via Sveltia CMS, a Git-based headless CMS that commits directly to GitHub.

Architecture

Sveltia CMS (browser) → GitHub (amarcin/homelab) → Cloudflare Pages (auto-build) → docusaurus.augustin.ai
  • Source files live in docusaurus/site/ in the homelab repo
  • Cloudflare Pages watches the main branch and rebuilds on every push
  • Build command: cd docusaurus/site && npm ci --legacy-peer-deps && npm run build
  • Build output: docusaurus/site/build
No Docker container runs for Docusaurus. The Dockerfile and compose.yaml in docusaurus/ are kept for local dev only.

Sveltia CMS

Admin UI: docusaurus.augustin.ai/admin/index.html Config: docusaurus/site/static/admin/config.yml

Authentication

GitHub OAuth is handled by a Cloudflare Worker (sveltia-cms-auth):
  • Worker URL: sveltia-cms-auth.gus-marcin.workers.dev
  • GitHub OAuth App: registered at github.com/settings/developers
  • Callback URL: https://sveltia-cms-auth.gus-marcin.workers.dev/callback

Collections

Collections are defined per folder in config.yml. Each subfolder under docs/ needs its own collection entry. When adding a new docs subfolder, add a corresponding collection to config.yml.

Theme

The Docusaurus theme is a Git submodule at docusaurus/theme/ pointing to github:amarcin/docusaurus-theme-mintysaurus. See docusaurus/theme/AGENT_NOTES.md for details.

Local Development

docker compose -f docusaurus/compose.yaml up -d --build