Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

shellyadmin

ShellyAdmin es una aplicación web autoadministrable para descubrir, inventariar, verificar firmware y provisionar dispositivos Shelly Gen2+ en una red local confiable.

Ficha actualizada 23 sept 2026, 14:06 · upstream 23 sept 2026, 14:02 · release v1.2.0

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es shellyadmin

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

ShellyAdmin es una aplicación web autoadministrable diseñada para descubrir, inventariar, verificar el firmware y gestionar los dispositivos Shelly Gen2+ en una red LAN confiable. Es un único binario de Go junto con una interfaz gráfica basada en Svelte, listo para contenerse en Docker.

Su propósito principal es actuar como console de operaciones de flota (fleet ops) para la administración segura de dispositivos IoT. Permite escanear subredes, registrar dispositivos en un inventario centralizado, enviar configuraciones templadas a múltiples dispositivos simultáneamente, verificar firmware en lote y comprobar que cada dispositivo cumpla con reglas de cumplimiento definidas por el usuario.

La arquitectura se centra en una implementación de contenedorizada (Docker) optimizada para un único operador confiado. Ofrece descubrimiento mediante escaneo de subredes, estado actualizado del dispositivo en SQLite, flujos manuales y automatizados, verificación de cumplimiento contra reglas configuradas, modo de provisionamiento guiado y avanzado, auditoría de acciones realizadas, y una API HTTP establecida.

Se distingue por mantener las acciones críticas como la actualización de firmware manual y el reinicio de dispositivos fuera del flujo automático, priorizando la seguridad sobre la automatización total. Además, incluye un servidor MCP opcional que permite a aplicaciones externas consultar información sobre los dispositivos mediante llamadas HTTP.

CASOS DE USO
  • Inventariar todos los dispositivos Shelly Gen2+ en una red local sin necesidad de acceso al panel web de cada dispositivo.
  • Provisionar múltiples dispositivos simultáneamente con configuraciones templadas personalizadas (redes WiFi, IPv4/IPv6, DNS, etc.).
  • Verificar el firmware actual y actualizarlo en lote a través de canales estables o beta, con validación de compatibilidad por dispositivo.
  • Comprobar que cada dispositivo cumple con reglas de cumplimiento definidas para asegurar estándares de seguridad y funcionalidad.
  • Auditar acciones realizadas (reinicio, provisionamiento, firmware) mediante un registro interno en tiempo real.
  • Gestionar dispositivos IoT en flotas pequeñas o medianas sin depender de servicios externos como la nube de Shelly.
PUNTOS DESTACADOS
  • Implementación completa en Go con interfaz gráfica basada en Svelte, ofreciendo una experiencia de usuario moderna y responsiva.
  • Arquitectura modular con separación clara entre lógica del protocolo Shelly (internal/core), servicios de flujo de trabajo (internal/services) y frontend (web).
  • Soporte para dispositivos Gen2+ con funcionalidades avanzadas como provisionamiento guiado, verificación de cumplimiento y auditoría.
  • API HTTP estable desde la versión 1.0.0 que permite integración con herramientas externas mediante llamadas REST a rutas /api/*.
  • Modelo de despliegue Dockerizado en un solo contenedor (Dockerfile) con variables de entorno gestionadas, facilitando el despliegue y escalabilidad.
PRECAUCIONES
  • El escaneo por subred no detecta dispositivos que operen exclusivamente mediante mDNS o protocolos alternativos fuera del estándar Shelly.
  • La resolución automática de direcciones IP DHCP tras un movimiento de leña es limitada: se requiere una reescaneación manual para actualizar la información.
  • No existe soporte nativo para dispositivos Gen1, lo que restringe el ecosistema a modelos más recientes.
  • El servidor MCP está disponible en modo lectura solo y no permite acciones modificables sobre los dispositivos desde aplicaciones externas.
  • La validación de IPs de destino durante la provisionamiento se limita a direcciones locales o privadas, excluyendo redes públicas o IPv6 dinámicas.
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

ShellyAdmin Devices view — fleet inventory with online state, WiFi/MQTT/cloud status, firmware version, compliance, and per-row actionsFirmware page: per-device current version, available stable/beta channels, auto-update mode, and bulk actionsProvision page: section-by-section template editor on the left, device multi-select on the rightCompliance page: rule editor on the left, per-device compliant/non-compliant summary on the rightDiscovery workflow: subnet scan progress and known-vs-new device split
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO20 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Despliegue manual

Para desplegar ShellyAdmin en un entorno local confiado: usa Docker con el contenedor `ghcr.io/buliwyf42/shellyadmin:latest`, exponiendo la portada a 8080 y volteando el contenedor con TLS si se expone al internet. En modo de producción, considera usar un servidor reverse proxy (Nginx) para ocultar la API, proteger las rutas sensibles mediante HTTPS y aplicar políticas de seguridad adicionales como WAF o rate limiting. Para entornos multiusuario o integración con Home Assistant, consulta el documento de arquitectura en `docs/ARCHITECTURE.md` y el plan de despliegue detallado en `docs/DEPLOYMENT.md`. Se recomienda mantener un registro de versiones del binario para evitar conflictos de dependencias.

—Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsNode.jsGo
SERVICIOS
MongoDB
BASES DE DATOS
MongoDB
PUERTOS
8080517311
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.