Exécuter l’édition serveur 24/7
Une build headless pour une surveillance continue, en permanence — sans interface. Exécutez-la dans Docker, ou installez-la sur Windows Server / Windows 11, Debian/Ubuntu (.deb) ou Fedora (.rpm). Couverte par votre licence existante.
Bêta
Ce que fait l'édition serveur
Surveillance permanente
Fonctionne sans interface 24h/24 et surveille les réseaux qui comptent — même quand votre poste est éteint.
Suivi de disponibilité et SLA
Disponibilité quotidienne par appareil et service, avec relances, dépendances et export CSV.
Alertes sans le flot
E-mail/SMTP, ntfy, Gotify et webhooks — avec routage par gravité et regroupement en digest.
Page de statut publique
Une page d'état facultative en lecture seule, visible par tous — sans connexion.
Découverte inter-sous-réseaux
Prise en charge SNMP et multi-NIC pour atteindre des réseaux au-delà du segment local.
Interrogez votre IA (MCP)
Exposez votre inventaire en direct à un assistant IA — strictement local, en lecture seule, désactivé par défaut.
Docker le plus simple
Enregistrez ceci sous docker-compose.yml et lancez docker compose up -d. network_mode: host lui permet de voir votre réseau ; les deux capacités sont expliquées ci-dessous :
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>" }
Pourquoi ces capacités ? DeviceShelf Server identifie en partie les appareils par leur empreinte DHCP et écoute passivement sur le port UDP 67. Comme le conteneur s’exécute délibérément en utilisateur non privilégié (uid 10001), l’ouverture de ce port système nécessite la capacité restreinte NET_BIND_SERVICE — pas de root, pas de NET_ADMIN, juste l’ouverture de ports bas. Sans elle, le serveur démarre normalement, mais sans l’identification DHCP/Fingerbank. NET_RAW sert au balayage ARP.
Debian / Ubuntu (.deb)
Installez depuis le terminal — ne double-cliquez pas. Sous Ubuntu 24.04, un .deb double-cliqué s’ouvre dans l’App Center, qui peut échouer en silence pour les paquets tiers. Le terminal résout les dépendances et démarre le service deviceshelf-server :
Télécharger .deb — amd64 (Intel/AMD) Télécharger .deb — arm64 (Raspberry Pi)
sudo apt install ./DeviceShelf-Server-*.deb
Sur ARM (Raspberry Pi, serveurs ARM), utilisez le fichier -arm64.deb.
Windows Server / Windows 11 bêta
Téléchargez le zip, extrayez-le et double-cliquez sur install.bat — confirmez l'invite d'administrateur Windows (UAC). Le service 24/7 est installé et démarré, puis l'URL du tableau de bord et le jeton d'accès s'affichent et le tableau de bord s'ouvre. Désinstallez avec uninstall.bat.
Télécharger pour Windows (amd64)
Cette bêta n'est pas encore signée ; Windows peut donc avertir : sur SmartScreen, cliquez sur Informations complémentaires → Exécuter quand même ; si Smart App Control est activé, il bloque totalement les apps non signées jusqu'à une version signée. Avant d'extraire, clic droit sur le zip → Propriétés → cochez Débloquer. Tous les détails sont dans le README du zip (7 langues). L'empreinte DHCP passive n'est pas disponible sous Windows ; tout le reste — analyse, surveillance, SNMP, alertes, tableau de bord, API — est inclus.
Premier démarrage : le jeton d’accès
Au premier démarrage, le serveur écrit un jeton d’API généré automatiquement dans son journal. Récupérez-le, puis ouvrez l’interface web sur le port 8088 et collez-le :
# .deb / systemd:
journalctl -u deviceshelf-server | grep -iA1 auto-generated
# Docker:
docker logs deviceshelf-server | grep -iA1 auto-generated
Ouvrez ensuite http://<host>:8088 dans votre navigateur et collez le jeton.
Notifications par e-mail (SMTP)
Ajoutez votre propre compte de messagerie comme expéditeur dans les paramètres d'alerte du tableau de bord. Pour les fournisseurs courants — Gmail, Yahoo, Outlook/Hotmail, iCloud, GMX et autres — laissez le champ serveur SMTP vide ; DeviceShelf détecte automatiquement le bon serveur. En raison de la connexion à deux facteurs, Gmail, Yahoo et Outlook exigent un mot de passe d'application (créé dans les paramètres de sécurité de votre compte), et non votre mot de passe habituel. Pour tout autre fournisseur ou serveur auto-hébergé, renseignez le serveur SMTP, le port et la sécurité. Les alertes sont alors envoyées via votre compte aux destinataires indiqués.
Interrogez votre IA sur votre réseau MCP
Le serveur peut exposer votre inventaire en direct à un assistant IA via le Model Context Protocol — vous pouvez ainsi demander « qu'est-ce qui est en ligne en ce moment ? », « quels certificats expirent bientôt ? » ou « qu'est-ce qui est vulnérable ? » et obtenir des réponses à partir de vos propres données. C'est strictement local : le point d'accès s'exécute dans votre serveur, derrière le même jeton, accessible uniquement sur votre réseau local — il n'y a aucun connecteur cloud DeviceShelf. Désactivé par défaut, en lecture seule, et inclus dans votre licence (il fonctionne aussi pendant l'essai).
# 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>)
Consultez l'annonce pour la liste complète des outils et la configuration. Les actions d'écriture (renommer un appareil, acquitter une alarme, lancer un scan) restent désactivées sauf activation explicite de votre part.
Connecter votre agent IA MCP
Activez d'abord MCP (ci-dessus), puis pointez votre client IA vers le point de terminaison /mcp du serveur avec votre jeton API. Remplacez <host> et <token> ci-dessous. La plupart des clients parlent Streamable HTTP nativement :
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>" }
} } }
Les connecteurs ChatGPT s'exécutent dans le cloud d'OpenAI et ne peuvent pas atteindre directement un serveur LAN. Pour les utiliser, placez le serveur derrière un tunnel HTTPS public (Secure MCP Tunnel d'OpenAI, ngrok ou Cloudflare Tunnel) afin qu'il ait une adresse https://…/mcp. Pour une configuration strictement locale, préférez l'un des clients ci-dessus.
C’est une bêta
L’édition serveur est récente — attendez-vous à quelques imperfections. Un bug ou une idée de fonctionnalité ? Contactez-nous — vos retours la façonnent. Voyez les notes de version pour le contenu de cette build.