Product documentation for SysWard — Linux patch management and vulnerability monitoring. Built with Hugo and the Doks theme, deployed on Netlify.
Requires Node.js 22+ (Netlify builds pin NODE_VERSION = 22; Hugo extended is
installed automatically via hugo-bin).
npm install # install dependencies
npm start # dev server at http://localhost:1313 (live reload)
npm run build # production build into public/ (runs checks first)
npm run check # markdownlint + reference integrity, without buildingnpm run build — and every Netlify deploy context — is gated on npm run check:
- markdownlint across
content/**/*.md scripts/check-refs.mjs— verifies every image referenced in content exists understatic/, and every internal/docs/...link resolves to a content file
Six sections, section-scoped URLs (content/docs/<section>/<page>.md):
| Section | Content |
|---|---|
getting-started/ |
Quick start, agent install, troubleshooting, uninstall |
using-sysward/ |
Dashboard, agents, groups, packages, CVEs, remediation, scheduled jobs, history |
account-billing/ |
Organization & users, profile, subscription |
integrations/ |
Webhooks & notifications (Slack/Discord/email) |
self-hosted/ |
Appliance: requirements, install, email, updates, backup/restore, custom SSL, trials, FAQ |
reference/ |
Supported operating systems, agent CLI, changelog |
Navigation lives in config/_default/menus.toml; each page's section
assignment and ordering is in its front matter (menu.docs.parent, weight).
Legacy /docs/general/* and /docs/agent/* URLs are 301-redirected via
static/_redirects.
Accuracy rule: every claim is verified against the shipped product (the
sysward/web source and a running instance) before publishing. Features that
haven't shipped are tracked as deferred work, not documented speculatively.
See prd/001-docs-site-overhaul.md.
Product screenshots live in static/images/ (1920×973, light theme) and are
generated — not hand-captured — from a seeded local demo instance
("Uptime Funk Inc.") via a Playwright harness in the sysward/web repo.
To regenerate after a UI change, see SCREENSHOTS.md. The
six subscription_*.png billing-portal images are external (Chargebee) and are
not regenerated by the harness.
Doks is vendored into this repo (layouts/, assets/scss/) and rebranded to
match the SysWard design system:
- Brand palette in
assets/scss/common/_variables.scss(primary#1a6fd6, body#0a1730on#f5f8ff) and dark mode inassets/scss/common/_dark.scss(navy#0a1730, links#4da3ff) - Navbar logo (light/dark wordmark swap) in
layouts/partials/header/header.html+static/images/sysward-logo*.webp
Netlify builds from netlify.toml and publishes public/. Production,
deploy-preview, and branch-deploy contexts all run the check gate before Hugo.