327 lines
6.8 KiB
Markdown
327 lines
6.8 KiB
Markdown
# netwatch
|
||
|
||
**Netzwerk-Dokumentations- und Verkabelungsverwaltungs-Tool**
|
||
|
||
> Status: ✅ **Alpha v0.2** - Core-Module funktionsfähig
|
||
|
||
---
|
||
|
||
## 🚀 Quick Start
|
||
|
||
```bash
|
||
# Docker starten
|
||
docker-compose up -d --build
|
||
|
||
# Dann öffnen
|
||
http://localhost
|
||
```
|
||
|
||
---
|
||
|
||
## ✨ Aktuelle Features (Feb 2026)
|
||
|
||
### 📊 Dashboard
|
||
- Live-Statistiken (Geräte, Typen, Racks, Stockwerke)
|
||
- Zuletzt hinzugefügte Geräte auf einen Blick
|
||
|
||
### 🔧 Gerätetypen
|
||
- Neue Gerätetypen definieren (Switch, Server, Patchpanel, ...)
|
||
- Bild-Upload (SVG, JPG, PNG)
|
||
- Port-Templates vordefin
|
||
|
||
ieren
|
||
|
||
### 🖥️ Geräte
|
||
- Geräte-Verwaltung mit Suche & Filter
|
||
- Rack-Position und Höheneinheiten (HE)
|
||
- Seriennummern & Kommentare
|
||
- Automatische Port-Übernahme vom Typ
|
||
|
||
### 📦 Racks
|
||
- Rack-Verwaltung nach Stockwerk
|
||
- Höhe in HE (Höheneinheiten)
|
||
- Automatische Geräte-Zählung
|
||
|
||
### 🏢 Stockwerke (Floors)
|
||
- Floorplan-Management (SVG-Upload)
|
||
- Gebäude-Struktur
|
||
- Raum- und Rack-Übersicht
|
||
|
||
### 🔗 Netzwerk-Verbindungen
|
||
- Verbindungen zwischen Geräten
|
||
- VLAN-Konfiguration
|
||
- Übersicht aller Links
|
||
|
||
---
|
||
|
||
## 📋 Struktur
|
||
|
||
### Stockwerksplan (SVG)
|
||
- Pro Stockwerk ein SVG
|
||
- Enthält:
|
||
- Räume (benennbar, nummerierbar)
|
||
- Netzwerkdosen (frei platzierbar)
|
||
- Elemente sind:
|
||
- Verschiebbar
|
||
- Nachträglich anpassbar
|
||
- Eindeutig referenzierbar
|
||
|
||
### Netzwerkdose
|
||
- Name / Nummer
|
||
- Raum
|
||
- Anzahl Ports
|
||
- Porttypen (z. B. RJ45, Glasfaser, BNC)
|
||
- Ports sind vollständig normale Ports im System
|
||
|
||
---
|
||
|
||
## Gerätetypen
|
||
|
||
### Gerätetyp
|
||
Definiert das **Aussehen und die Port-Geometrie** eines Geräts.
|
||
|
||
**Attribute**
|
||
- Name
|
||
- Kategorie:
|
||
- Switch
|
||
- Server
|
||
- Patchpanel
|
||
- Sonstiges
|
||
- Darstellung:
|
||
- SVG **oder**
|
||
- JPG/PNG
|
||
|
||
### Portdefinition im Bild
|
||
Beim Anlegen eines Gerätetyps:
|
||
- Bild wird angezeigt
|
||
- Ports werden per Klick gesetzt:
|
||
- X/Y relativ zum Bild
|
||
- Portname
|
||
- Porttyp
|
||
- Diese Portdefinition ist die Vorlage für alle Geräte dieses Typs
|
||
|
||
---
|
||
|
||
## Geräte
|
||
|
||
### Gerät
|
||
Instanz eines Gerätetyps.
|
||
|
||
**Attribute**
|
||
- Name
|
||
- Gerätetyp
|
||
- Standort / Rack / Stockwerk
|
||
- Position im Rack:
|
||
- Start-HE
|
||
- Höhe in HE
|
||
- Seriennummer (optional)
|
||
- Kommentar
|
||
|
||
Ports werden automatisch aus dem Gerätetyp erzeugt.
|
||
|
||
---
|
||
|
||
## Switches & Ports
|
||
|
||
### Ports
|
||
- Name / Nummer
|
||
- Porttyp (frei definierbar)
|
||
- Geschwindigkeit(en)
|
||
- Status (aktiv / deaktiviert)
|
||
- VLAN-Zuweisung
|
||
- Modus:
|
||
- Access
|
||
- Trunk
|
||
- Hybrid
|
||
- Custom (Freitext)
|
||
|
||
---
|
||
|
||
## Module (z. B. SFP, Spezialkarten)
|
||
|
||
### Modul
|
||
Eigenständige Komponente, die in einen Port eingesetzt wird.
|
||
|
||
**Eigenschaften**
|
||
- Name
|
||
- Typ (z. B. SFP, QSFP, BNC-Modul)
|
||
- Kompatible Porttypen
|
||
- Eigene Ports (z. B. LC Duplex)
|
||
|
||
### Logik
|
||
```
|
||
Switch-Port → Modul → Modul-Port → Verbindung
|
||
```
|
||
|
||
|
||
Module können selbst Ports besitzen und sind vollwertige Verbindungspartner.
|
||
|
||
---
|
||
|
||
## Verbindungstypen
|
||
|
||
### Verbindungstyp (frei definierbar)
|
||
- Name
|
||
- Medium:
|
||
- Kupfer
|
||
- Glasfaser
|
||
- Koax
|
||
- Sonstiges
|
||
- Duplex:
|
||
- Half
|
||
- Full
|
||
- Custom
|
||
- Max. Geschwindigkeit (optional)
|
||
- Darstellung:
|
||
- Farbe
|
||
- Linientyp (durchgezogen, gestrichelt)
|
||
|
||
Beispiele:
|
||
- RJ45 Cat6
|
||
- LC-LC Singlemode
|
||
- BNC Token Ring
|
||
- Proprietär XYZ
|
||
|
||
---
|
||
|
||
## Verbindungen
|
||
|
||
### Verbindung
|
||
- Port A ↔ Port B
|
||
- Verbindungstyp
|
||
- VLAN(s)
|
||
- Modus
|
||
- Kommentar
|
||
|
||
Verbindungen werden:
|
||
- logisch gespeichert
|
||
- grafisch in allen relevanten SVGs dargestellt
|
||
|
||
---
|
||
|
||
## Grafische Ansichten
|
||
|
||
### Rack-Ansicht (SVG)
|
||
- Frontansicht mit HE-Raster
|
||
- Geräte:
|
||
- korrekt skaliert
|
||
- drag & drop
|
||
- Kabel:
|
||
- Linien zwischen Portpunkten
|
||
- Farbe gemäß Verbindungstyp
|
||
- Hover zeigt Details
|
||
|
||
---
|
||
|
||
### Netzwerkansicht (Graph)
|
||
- Geräte als Nodes
|
||
- Verbindungen als Edges
|
||
- Ports optional sichtbar
|
||
- Layout:
|
||
- automatisch (Force-Layout)
|
||
- manuell verschiebbar
|
||
- Filter:
|
||
- VLAN
|
||
- Verbindungstyp
|
||
- Standort
|
||
|
||
---
|
||
|
||
### Stockwerks- & Raumansicht
|
||
- SVG-Plan pro Stockwerk
|
||
- Netzwerkdosen:
|
||
- anklickbar
|
||
- Ports sichtbar
|
||
- Patchpanels:
|
||
- Fest installierte Patchfelder, die im Raum- bzw. Stockwerksplan als eigene Objekte auftauchen.
|
||
- Sie stammen nicht aus dem `devices`-Modul, sondern zeigen die permanente Verdrahtung zwischen Patchpanels und Anschlussdosen.
|
||
- Die untereinander verbundenen Patchpanels lassen sich direkt auf der SVG-Stockwerkskarte verorten, damit jeder Port physisch nachvollziehbar bleibt.
|
||
- Verbindungen zu Racks / Switches darstellbar
|
||
|
||
### TODO: Patchpanel-Infrastruktur
|
||
- [ ] Floorplans erweitern, damit Patchpanels als feste Infrastrukturobjekte (nicht als rack-basierte `devices`) angelegt, verschoben und mit `x/y`/Größe verankert werden.
|
||
- [ ] Backend und SVG-Editor dahingehend adaptieren, dass Patchpanel-Ports unabhängig von Racks definiert werden können.
|
||
- [ ] Patchpanel ↔ Patchpanel- und Patchpanel ↔ Netzwerkbuchse-Verbindungen als permanente Kabel zwischen Floorplan-Objekten darstellen und über die `connections`-Tabelle verwalten.
|
||
- [ ] UI/Schema-Dokumentation aktualisieren (README + Datenbank-Docs) sowie neue SQL-Tabellen (`floor_patchpanels` / `floor_patchpanel_ports`) fertigstellen.
|
||
- [ ] Floorplan-Filter/Legend leiten die Nutzung dieser Infrastrukturobjekte, Kampagnen und Search & Filter integrieren.
|
||
|
||
### Stockwerksinfrastruktur-Modul
|
||
- Das neue Modul „Stockwerksinfrastruktur“ sammelt Patchpanels und Wandbuchsen an einem Ort.
|
||
- Patchfelder bekommen feste X/Y-Positionen, Maße, Portanzahl und verknüpfen zu Floorplans.
|
||
- Wandbuchsen sind direkt mit Räumen verbunden, können aber auch später im SVG verteilt werden.
|
||
- Ziel: Die Floorplan-Grafik zeigt die permanente Infrastruktur samt fest verlegter Kabelverläufe.
|
||
- TODO: SVG-Editor um Drag & Drop für diese Objekte erweitern und Klicks direkt mit dem Modul verbinden.
|
||
|
||
---
|
||
|
||
## Datenbank (konzeptionell)
|
||
|
||
### Zentrale Tabellen
|
||
- `locations`
|
||
- `buildings`
|
||
- `floors`
|
||
- `rooms`
|
||
- `floor_svgs`
|
||
- `network_outlets`
|
||
- `device_types`
|
||
- `device_type_ports`
|
||
- `devices`
|
||
- `device_ports`
|
||
- `modules`
|
||
- `module_ports`
|
||
- `connection_types`
|
||
- `connections`
|
||
- `vlans`
|
||
- `racks`
|
||
|
||
Custom-Eigenschaften werden teilweise als JSON gespeichert, um Erweiterungen
|
||
ohne Schema-Brüche zu ermöglichen.
|
||
|
||
---
|
||
|
||
## Erweiterbarkeit
|
||
|
||
Geplant, aber nicht initial:
|
||
- Mehrbenutzerfähigkeit
|
||
- Historisierung / Änderungsverlauf
|
||
- Rechte & Rollen
|
||
- Export (JSON, CSV, PDF)
|
||
- Theming / Design-System
|
||
- API
|
||
|
||
---
|
||
|
||
## Projektphasen
|
||
|
||
### Phase 1 – Fundament
|
||
- Docker Compose
|
||
- Basisdatenbank
|
||
- CRUD für:
|
||
- Verbindungstypen
|
||
- Gerätetypen
|
||
- Standorte
|
||
|
||
### Phase 2 – Grafik & Geräte
|
||
- Gerätetyp-Editor mit Port-Klick
|
||
- Rack-Ansicht
|
||
- Geräteplatzierung
|
||
|
||
### Phase 3 – Verkabelung
|
||
- Verbindungslogik
|
||
- Module
|
||
- VLANs
|
||
- Visuelle Kabeldarstellung
|
||
|
||
### Phase 4 – Gebäudepläne
|
||
- Stockwerks-SVG
|
||
- Räume
|
||
- Netzwerkdosen
|
||
- Verknüpfung mit Geräten
|
||
|
||
---
|
||
|
||
## Zielzustand
|
||
Ein zuverlässiges, verständliches und visuell präzises Werkzeug zur
|
||
Netzwerkdokumentation, das **nicht einschränkt**, sondern reale,
|
||
auch unkonventionelle Infrastrukturen korrekt abbilden kann.
|