Skip to content
EdgeWatch

Your network. No surprises.

Know your surface.
Notice what changes.

Scan your network. Learn what belongs. Get notified when something changes.

  • Self-hosted
  • TCP + UDP
  • Nmap-confirmed
EdgeWatch Walkthrough
Scan. Baseline. Detect.
01 / OBSERVEScan every edge.

IPs, CIDRs, and DNS names.
On your schedule.

02 / LEARNDefine what belongs.

Build an expected surface
from complete observations.

03 / RESPONDCatch the change.

Review confirmed incidents.
Keep the original history.

Deploy EdgeWatch

Start with Docker, create your administrator account, and connect to the console.

Installation guide →

Monitor your network

Choose your targets, run a scan, and establish an expected surface.

Your first scan →

Build and contribute

Set up Go and Node.js, run the checks, and work on EdgeWatch or its documentation.

Maintainer guide →

Built for the long watch

Confidence in
every change.

Know what belongs on your network. When something changes, have the evidence to understand it.

Your deployment. Your data.

One Docker image. An embedded console.
SQLite storage on your host.

Only monitor systems you own or are authorized to assess.

Monitoring on your schedule

Watch IPs, CIDRs, and DNS names with recurring jobs. Keep each network on its own schedule.

Monitoring jobs

Coverage you can trust

Scan TCP and UDP with Nmap, or discover TCP ports with Naabu and confirm them with Nmap.

Scanners and profiles

Changes with their context

Compare ports, services, and DNS against your baseline. Review host evidence and keep the original history.

Baselines and incidents

Alerts that reach your team

Route incidents and optional release alerts to named Shoutrrr destinations, with credentials encrypted at rest.

Notification routing

Access under your control

Give each person the right role, protect accounts with TOTP, and publish only the status you choose.

Accounts and public status

Broad scans that pick up again

Resume completed work after a timeout or restart. Incomplete observations never rewrite your expected surface.

Resumable scanning