import { Link } from 'react-router-dom' function CodeBlock({ code }: { code: string }) { return (
      {code}
    
) } function Step({ n, title, children }: { n: number; title: string; children: React.ReactNode }) { return (
{n}

{title}

{children}
) } export default function GettingStarted() { return (

Documentation

Getting Started

Get netOrk running from zero to a managed device in under 10 minutes.

    {[ 'Docker + Docker Compose (v2)', 'A Linux host reachable from the server by SSH', 'PostgreSQL (or use the bundled Compose profile)', 'Redis (or use the bundled Compose profile)', ].map((item) => (
  • {item}
  • ))}

Clone the repository, copy the example environment file, and deploy with a single command.

The deploy script builds images, pushes them to the target host, and starts Docker Compose. Alembic migrations run automatically on first start.

Once the containers are up, navigate to your server IP in a browser.

    {[ 'Complete the setup wizard — it creates the admin user and writes the initial config', 'Log in with the admin credentials you just set', 'You land on the device inventory — currently empty', ].map((item) => (
  • {item}
  • ))}
    {[ 'Click "Add device" and fill in hostname / IP, driver, and credentials', 'Click "Poll" to verify connectivity — you should see facts populate (vendor, OS, model)', 'Set a poll interval (e.g. 5 minutes) for continuous monitoring', 'Save — the device is now active and polled on the configured schedule', ].map((item, i) => (
  1. {i + 1}. {item}
  2. ))}
{[ { heading: 'NetBox sync', body: 'Connect netOrk to your NetBox instance to keep device records in sync automatically.' }, { heading: 'Wazuh', body: 'Enable the Wazuh plugin to track agent enrollment and CVE counts per device.' }, { heading: 'Scheduled reboots', body: 'Configure scheduled AP reboots for OpenWRT devices (GTK key rotation workaround).' }, ].map((card) => (

{card.heading}

{card.body}

))}
Supported drivers → Full feature list →
) }