Die 24/7-Server-Edition betreiben
Ein headless Build für durchgehende Überwachung rund um die Uhr — ohne GUI. Betreibe sie in Docker oder installiere sie auf Windows Server / Windows 11, Debian/Ubuntu (.deb) oder Fedora (.rpm). Von deiner bestehenden Lizenz abgedeckt.
Beta
Was die Server-Edition kann
Dauerüberwachung
Läuft headless rund um die Uhr und behält die Netzwerke im Blick, die dir wichtig sind — auch wenn dein Desktop aus ist.
Uptime- & SLA-Tracking
Tägliche Verfügbarkeit pro Gerät und Dienst, mit Retries, Abhängigkeiten und CSV-Export.
Alarme ohne Flut
E-Mail/SMTP, ntfy, Gotify und Webhooks — mit Schweregrad-Routing und Digest-Bündelung.
Öffentliche Status-Seite
Eine optionale, schreibgeschützte Status-Seite, die jeder sehen kann — ohne Login.
Subnetz-übergreifende Erkennung
SNMP- und Multi-NIC-Unterstützung, um Netzwerke jenseits des lokalen Segments zu erreichen.
Frag deine KI (MCP)
Gib einem KI-Assistenten Zugriff auf dein Live-Inventar — strikt lokal, schreibgeschützt, standardmäßig aus.
Docker am einfachsten
Speichere das als docker-compose.yml und starte docker compose up -d. network_mode: host lässt sie dein LAN sehen; die beiden Capabilities sind unten erklärt:
services:
deviceshelf:
image: ghcr.io/wealthwallet/deviceshelf-server:1.5.15
network_mode: host
cap_add:
- NET_RAW # ARP scan (raw sockets)
- NET_BIND_SERVICE # passive DHCP fingerprinting (UDP/67) → Fingerbank
volumes:
- ./data:/data # chown 10001:10001 ./data
restart: unless-stopped
# optional: environment: { DEVICESHELF_FINGERBANK_KEY: "<free key from fingerbank.org>" }
Wozu diese Capabilities? DeviceShelf Server identifiziert Geräte u. a. über ihren DHCP-Fingerprint und lauscht dafür passiv auf UDP-Port 67. Da der Container bewusst als nicht-privilegierter Benutzer (uid 10001) läuft, braucht das Binden dieses System-Ports die eng begrenzte Capability NET_BIND_SERVICE — kein Root, kein NET_ADMIN, nur das Öffnen niedriger Ports. Ohne sie startet der Server normal weiter, nur ohne DHCP-/Fingerbank-Identifikation. NET_RAW ist für den ARP-Scan.
Debian / Ubuntu (.deb)
Im Terminal installieren — nicht doppelklicken. Unter Ubuntu 24.04 öffnet eine doppelgeklickte .deb das App Center, das bei Dritt-Paketen kommentarlos fehlschlagen kann. Das Terminal löst Abhängigkeiten auf und startet den deviceshelf-server-Dienst:
.deb herunterladen — amd64 (Intel/AMD) .deb herunterladen — arm64 (Raspberry Pi)
sudo apt install ./DeviceShelf-Server-*.deb
Auf ARM (Raspberry Pi, ARM-Server) die -arm64.deb-Datei nehmen.
Windows Server / Windows 11 beta
Zip herunterladen, entpacken und install.bat doppelklicken — die Windows-Admin-Nachfrage (UAC) bestätigen. Der 24/7-Dienst wird installiert und gestartet, danach werden Dashboard-URL und Zugangs-Token angezeigt und das Dashboard geöffnet. Deinstallieren mit uninstall.bat.
Für Windows herunterladen (amd64)
Diese Beta ist noch nicht signiert, daher warnt Windows evtl.: bei SmartScreen auf Weitere Informationen → Trotzdem ausführen; ist Smart App Control aktiv, blockiert es unsignierte Apps komplett, bis wir einen signierten Build ausliefern. Vor dem Entpacken kannst du per Rechtsklick auf die Zip → Eigenschaften → Zulassen ankreuzen. Alle Details stehen in der README in der Zip (7 Sprachen). Passives DHCP-Fingerprinting ist unter Windows nicht verfügbar; alles andere — Scannen, Monitoring, SNMP, Alarme, Dashboard, API — ist dabei.
Erster Start: der Zugriffs-Token
Beim ersten Start schreibt der Server einen automatisch generierten API-Token ins Log. Hol ihn dir, öffne dann die Web-UI auf Port 8088 und füge ihn ein:
# .deb / systemd:
journalctl -u deviceshelf-server | grep -iA1 auto-generated
# Docker:
docker logs deviceshelf-server | grep -iA1 auto-generated
Dann http://<host>:8088 im Browser öffnen und den Token einfügen.
E-Mail-Benachrichtigungen (SMTP)
Hinterlege in den Alarm-Einstellungen des Dashboards dein eigenes Mail-Konto als Absender. Bei gängigen Anbietern — Gmail, Yahoo, Outlook/Hotmail, iCloud, GMX u. a. — lässt du das SMTP-Server-Feld leer; DeviceShelf erkennt den richtigen Server automatisch. Wegen der Zwei-Faktor-Anmeldung verlangen Gmail, Yahoo und Outlook ein App-Passwort (in den Sicherheitseinstellungen deines Mail-Kontos erstellt), nicht dein normales Passwort. Bei jedem anderen oder selbst gehosteten Anbieter trägst du SMTP-Server, Port und Sicherheit ein. Die Alarme werden dann über dein Konto an die eingetragenen Empfänger verschickt.
Frag deine KI über dein Netzwerk MCP
Der Server kann dein Live-Inventar über das Model Context Protocol einer KI zugänglich machen — so kannst du fragen: „Was ist gerade online?“, „Welche Zertifikate laufen bald ab?“ oder „Was ist verwundbar?“ und bekommst Antworten aus deinen eigenen Daten. Es ist strikt lokal: Der Endpunkt läuft in deinem Server, hinter demselben Token, erreichbar nur in deinem LAN — es gibt keinen DeviceShelf-Cloud-Connector. Standardmäßig aus, nur lesend und in deiner Lizenz enthalten (funktioniert auch in der Testphase).
# enable in /etc/deviceshelf/server.env (or your Docker env):
DEVICESHELF_MCP_ENABLE=true
# then point Claude Desktop at it via the mcp-remote bridge:
# http://<host>:8088/mcp (Authorization: Bearer <your-token>)
Siehe die Ankündigung für die vollständige Tool-Liste und Einrichtung. Schreib-Aktionen (Gerät umbenennen, Alarm quittieren, Scan auslösen) bleiben aus, bis du sie ausdrücklich aktivierst.
KI-Agent verbinden MCP
Aktiviere zuerst MCP (oben), dann richte deinen KI-Client auf den /mcp-Endpoint des Servers mit deinem API-Token. Ersetze unten <host> und <token>. Die meisten Clients sprechen Streamable HTTP nativ:
Claude Code
claude mcp add --transport http deviceshelf http://<host>:8088/mcp \
--header "Authorization: Bearer <token>"
Cursor — ~/.cursor/mcp.json
{ "mcpServers": { "deviceshelf": {
"url": "http://<host>:8088/mcp",
"headers": { "Authorization": "Bearer <token>" }
} } }
VS Code (Copilot agent) — .vscode/mcp.json
{ "servers": { "deviceshelf": {
"type": "http",
"url": "http://<host>:8088/mcp",
"headers": { "Authorization": "Bearer <token>" }
} } }
Windsurf — ~/.codeium/windsurf/mcp_config.json (note: serverUrl)
{ "mcpServers": { "deviceshelf": {
"serverUrl": "http://<host>:8088/mcp",
"headers": { "Authorization": "Bearer <token>" }
} } }
Cline — cline_mcp_settings.json ("type": "streamableHttp" is required, else it falls back to SSE and fails)
{ "mcpServers": { "deviceshelf": {
"type": "streamableHttp",
"url": "http://<host>:8088/mcp",
"headers": { "Authorization": "Bearer <token>" }
} } }
Gemini CLI — ~/.gemini/settings.json (note: httpUrl)
{ "mcpServers": { "deviceshelf": {
"httpUrl": "http://<host>:8088/mcp",
"headers": { "Authorization": "Bearer <token>" }
} } }
Claude Desktop — claude_desktop_config.json. It has no native static-token remote support, so bridge it with mcp-remote (keep --allow-http for plain http; the token goes in an env var to avoid a Windows arg-quoting bug). Fully quit and relaunch after saving.
{ "mcpServers": { "deviceshelf": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://<host>:8088/mcp",
"--transport", "http-only", "--allow-http",
"--header", "Authorization:${AUTH}"],
"env": { "AUTH": "Bearer <token>" }
} } }
ChatGPT-Connectors laufen in OpenAIs Cloud und erreichen einen LAN-Server nicht direkt. Dafür muss der Server hinter einem öffentlichen HTTPS-Tunnel liegen (OpenAIs Secure MCP Tunnel, ngrok oder Cloudflare Tunnel), damit er eine https://…/mcp-Adresse hat. Für ein rein lokales Setup nimm besser einen der Clients oben.
Es ist eine Beta
Die Server-Edition ist neu — rechne mit ein paar Ecken und Kanten. Fehler gefunden oder ein Feature-Wunsch? Schreib uns — dein Feedback bestimmt die Richtung. Was in diesem Build steckt, steht in den Release-Notes.