Documentation

Getting started

Web Fleet is in active development. CP30 adversarial hardening is substantially complete through its final campaigns, but there is still no public release or supported installer; that remains the CP31 release gate.

Current status: CP1 through CP29 are implemented in development and CP30 hardening has closed the identity/RBAC, Audit/SSRF, authentication/OIDC, API-token/webhook, PostgreSQL/backup/scheduler and release-portability campaigns. There is not yet a public release or supported installer. Real external-provider OIDC interoperability and the owner's ordinary-user dogfood remain outstanding release gates.

The five-minute goal

The target self-hosted experience is: install Web Fleet, choose SQLite or PostgreSQL, create the first administrator, then add a website URL. The development build already follows the second and third steps, and public monitoring requires no agent or code change on the monitored website.

# Planned installation flow - a public installer does not exist yet
webfleet serve

There is no public installer yet. The planned install.sh and release archives arrive with the CP31 release gate; until then Web Fleet runs from a development build.

Open the dashboard, choose the database before first-admin setup, then add a site such as:

Name:     Example
URL:      https://example.com
Interval: 60 seconds

What happens after adding a site

Web Fleet schedules guarded HTTP checks, records status and latency, classifies failures, derives a fleet-level health state, tracks coherent incidents, observes TLS/DNS/header/redirect state, and runs a separate bounded crawler for page/link health. Performance history, manual browser Audit and privacy-first analytics are implemented in development. Audit never runs automatically and history is opt-in.

Adding analytics later

Analytics is deliberately separate from public monitoring. A GitHub Pages site, static Nift site or application hosted on another provider can send pageview events to one central Web Fleet server.

<script
  defer
  src="https://fleet.example.com/wf.js"
  data-webfleet="YOUR_PROPERTY_KEY">
</script>

The tracker is served at /wf.js on the Web Fleet host; the data-webfleet value is the analytics property key shown when analytics is enabled for a site in the dashboard.

The shipped default tracker does not require cookies or persistent visitor profiles. It validates the configured site origin, bounds event payloads, rate-limits attacker-reachable ingestion and stores no raw client IP address.

Next reading

Read Product overview for the product boundary, or Architecture for the implementation direction.