Skip to content

Docs site

docs.steelmoth.com is represented in this repo as an nginx vhost template at ops/nginx/docs.steelmoth.com.conf. The config redirects HTTP to HTTPS, preserves ACME challenge handling, then proxies / to the dashboard wiki route at /docs/wiki and /<page-id> to /docs/wiki/<page-id> on the dashboard origin at 127.0.0.1:3013. It also proxies /login, /api/auth/*, /api/v1/*, /_next/*, /manifest.webmanifest, /icon.svg, /icon-maskable.svg, /steelmoth-logo.png, /apple-touch-icon.png, /sw.js, /apple-icon*, and /favicon.ico so docs-host auth, PWA install metadata, official logo assets, and runtime wiki data use the same dashboard/web-chat stack.

The vhost keeps canonical short links by redirecting /docs/wiki to / and /docs/wiki/<page-id> to /<page-id>/.

The docs vhost includes the shared dashboard proxy snippet, so live docs access depends on the dashboard service and web-chat API wiki endpoints, not on a separate static document root.

The proxied dashboard route still uses dashboard auth, and the underlying /v1/wiki/* API is admin-only. The nginx vhost does not make the wiki an anonymous static site by itself.

For docs-host login continuity, dashboard auth allows redirects only to the current origin or HTTPS Steelmoth hosts under steelmoth.com, and steelmoth.ai; login actions on docs.steelmoth.com redirect back to docs root. The dashboard deploy script recreates the private dashboard service and the standalone public dashboard container before comparing CSS fingerprints; when recreating the public container, it can override AUTH_URL/NEXTAUTH_URL and AUTH_COOKIE_DOMAIN via STEELMOTH_PUBLIC_DASHBOARD_AUTH_URL and STEELMOTH_PUBLIC_DASHBOARD_AUTH_COOKIE_DOMAIN.

The dashboard docs host itself is host-aware: layout.tsx enables the PwaServiceWorker in docs-host mode, and manifest.ts returns a docs-specific manifest profile (name, description, and Steelmoth moth app icons). The same service worker also serves the authenticated dashboard host; it precaches only the static /offline fallback and public icon/logo/brand assets, uses network-first navigation, and explicitly bypasses API, login, and OAuth paths. This keeps the private/admin-only wiki installable as a PWA without persisting protected wiki or API responses in browser caches.

The visible docs/wiki page uses dashboard/public/steelmoth-logo.png, now a square moth app icon, beside the Steelmoth Wiki title. The wiki header also exposes the existing dashboard theme toggle so admins can switch between dark and light display modes while reading the wiki.

The wiki source of truth is docs/system-wiki/. The dashboard reads pages from the repo through /v1/wiki/*, so public docs exposure should only be enabled after python3 scripts/check-system-wiki.py passes and the operator decides the content is safe for public exposure.

Do not publish secret-bearing files, .env*, run artifacts, local auth files, or operational state. The wiki manifest records excluded source path patterns for wiki maintenance; the nginx vhost is only a proxy layer and does not enforce repo-aware exclusions.

  • Update this page when the docs vhost path, TLS path, dashboard origin, proxied routes, or wiki validation command changes.
  • Run nginx syntax validation on the target host after installing or symlinking ops/nginx/docs.steelmoth.com.conf.
  • Public exposure still depends on DNS, certificate availability, dashboard availability, web-chat API availability, and host-level nginx layout outside this repo.
  • The config currently uses the existing dashboard certificate path until a dedicated docs.steelmoth.com origin certificate is issued.