- Scrutiny necesita acceso explícito a los dispositivos físicos del host.
- Las unidades SATA suelen requerir SYS_RAWIO; las NVMe también pueden necesitar SYS_ADMIN.
- Para NVMe se pasa /dev/nvme0, no /dev/nvme0n1.
- Deben conservarse tanto config como influxdb.
Si tienes un servidor doméstico, un NAS o varias unidades donde guardas información importante, esperar a que un disco empiece a emitir ruidos extraños no es una buena estrategia. Los fallos pueden aparecer sin previo aviso, por lo que resulta recomendable controlar periódicamente la salud de los discos y observar si determinados indicadores empeoran con el tiempo.
Scrutiny facilita esta tarea mediante un panel web que recopila los datos SMART de discos duros, SSD y unidades NVMe. Al instalar Scrutiny con Docker puedes consultar temperaturas, atributos críticos e históricos desde el navegador, manteniendo tanto la aplicación como sus datos separados del resto del sistema.
Qué es Scrutiny y qué información muestra

Scrutiny es una herramienta de monitorización de discos que utiliza smartctl, incluido en Smartmontools, para consultar la información SMART proporcionada por las unidades. Después almacena las mediciones y las muestra mediante una interfaz web, lo que permite comprobar no solo el valor actual, sino también su evolución.
Entre la información disponible se encuentran la temperatura, los sectores reasignados, los sectores pendientes, los errores no corregibles y otros atributos que dependen del tipo y del fabricante de la unidad. Scrutiny también contrasta determinados valores con información sobre fallos reales para destacar señales que podrían resultar preocupantes.
Esto no significa que pueda anticipar todos los fallos. Una unidad puede averiarse repentinamente sin que SMART haya registrado antes una degradación evidente. Por tanto, Scrutiny es una herramienta de vigilancia y diagnóstico, pero no sustituye a una estrategia de copias de seguridad.
Qué necesitas para instalar Scrutiny con Docker

La instalación está pensada principalmente para un servidor Linux o un NAS que permita ejecutar contenedores y entregar dispositivos físicos al contenedor. Necesitarás:
- Docker Engine y Docker Compose: la orden utilizada en esta guía es
docker compose, correspondiente a Compose V2. - Acceso administrativo al servidor: es necesario para identificar las unidades y permitir que Docker acceda a ellas.
- Una ruta persistente: conservará la configuración y el histórico almacenado en InfluxDB.
- Los nombres correctos de los dispositivos: por ejemplo,
/dev/sdapara una unidad SATA o/dev/nvme0para un controlador NVMe.
Docker Desktop para Windows o macOS no ofrece el mismo acceso directo a los dispositivos /dev del host que una instalación nativa de Linux. Si los discos están conectados físicamente a un servidor Linux o a un NAS, lo recomendable es ejecutar allí el recolector.
Cómo identificar los discos que debe leer Scrutiny
Antes de crear el contenedor, comprueba cómo denomina Linux a cada unidad. Puedes obtener una lista sencilla con:
lsblk -d -o NAME,MODEL,SIZE,TYPE,TRAN
Si tienes instalado Smartmontools, también puedes pedirle que busque dispositivos compatibles:
sudo smartctl --scan
La salida puede mostrar rutas como estas:
/dev/sda
/dev/sdb
/dev/nvme0
Anota únicamente las unidades que quieras monitorizar. No confundas un disco completo como /dev/sda con sus particiones, por ejemplo /dev/sda1. En el caso de NVMe, Scrutiny necesita normalmente el controlador /dev/nvme0, no el namespace de almacenamiento /dev/nvme0n1.
Cómo preparar las carpetas persistentes
Crea una carpeta para el proyecto y dos subdirectorios. Uno guardará la configuración y la base de datos interna de Scrutiny, mientras que el otro conservará las series históricas de InfluxDB:
mkdir -p ~/scrutiny/config
mkdir -p ~/scrutiny/influxdb
cd ~/scrutiny
Estos directorios permiten recrear o actualizar el contenedor sin perder el historial de temperaturas y atributos SMART.
Cómo crear el archivo Docker Compose de Scrutiny
Dentro de la carpeta anterior, crea un archivo llamado compose.yaml con esta configuración inicial:
services:
scrutiny:
image: ghcr.io/analogj/scrutiny:v0.9.3-omnibus
container_name: scrutiny
restart: unless-stopped
cap_add:
- SYS_RAWIO
ports:
- "8080:8080"
volumes:
- /run/udev:/run/udev:ro
- ./config:/opt/scrutiny/config
- ./influxdb:/opt/scrutiny/influxdb
devices:
- "/dev/sda"
- "/dev/sdb"
Sustituye los dispositivos del ejemplo por los encontrados en tu servidor. No añadas una unidad que no exista, ya que Docker no podrá iniciar correctamente el contenedor.
La capacidad SYS_RAWIO permite que smartctl consulte la información SMART. El montaje de /run/udev proporciona los metadatos que Scrutiny utiliza para reconocer correctamente el hardware.
La imagen Omnibus incluye la interfaz web, la API, el recolector y la base de datos de métricas. Por este motivo es la opción más sencilla cuando todos los discos están conectados al mismo servidor.
Aunque algunos ejemplos publican también el puerto 8086 de InfluxDB, no necesitas exponerlo para utilizar normalmente Scrutiny. Mantenerlo cerrado reduce servicios accesibles innecesariamente desde la red.
Cómo añadir una unidad NVMe
Las unidades NVMe requieren normalmente la capacidad adicional SYS_ADMIN. En ese caso, modifica las secciones correspondientes de esta forma:
cap_add:
- SYS_RAWIO
- SYS_ADMIN
devices:
- "/dev/sda"
- "/dev/nvme0"
No añadas SYS_ADMIN si solo monitorizas unidades SATA o SAS que funcionan correctamente con SYS_RAWIO. Cada capacidad amplía los permisos del contenedor, por lo que conviene utilizar únicamente las necesarias.
Cómo iniciar Scrutiny y acceder al panel
Antes de levantar el servicio, comprueba que la sintaxis del archivo sea válida:
docker compose config
Si no aparece ningún error, descarga la imagen e inicia el contenedor:
docker compose pull
docker compose up -d
Comprueba su estado con:
docker compose ps
Después abre en el navegador la dirección IP del servidor seguida del puerto 8080:
http://IP_DEL_SERVIDOR:8080
La imagen Omnibus ejecuta el recolector durante la puesta en marcha. Si el panel continúa vacío, puedes forzar una recopilación manual:
docker exec scrutiny /opt/scrutiny/bin/scrutiny-collector-metrics run
Recarga la página cuando termine el proceso. Deberían aparecer las unidades, su estado general, la temperatura y los atributos disponibles.
Cómo comprobar que Scrutiny funciona correctamente
Empieza revisando los registros del contenedor:
docker compose logs --tail=100 scrutiny
También puedes consultar el endpoint de salud de la aplicación:
curl -fsS http://localhost:8080/api/health
Por último, ejecuta manualmente el recolector y comprueba que no muestra errores al abrir los dispositivos:
docker exec scrutiny /opt/scrutiny/bin/scrutiny-collector-metrics run
Scrutiny ejecuta el recolector siguiendo una programación periódica. El horario puede cambiarse mediante la variable COLLECTOR_CRON_SCHEDULE, aunque para una instalación inicial suele ser suficiente mantener la planificación predeterminada.
Qué ocurre con discos USB y controladoras RAID
Algunas carcasas USB-SATA no transmiten correctamente la información SMART. Si smartctl tampoco puede leer el disco desde el propio host, conceder más permisos al contenedor no resolverá el problema. En determinados adaptadores puede ser necesario indicar manualmente un tipo como sat dentro de collector.yaml.
Las controladoras RAID también pueden ocultar las unidades físicas detrás de un dispositivo virtual. Scrutiny admite los controladores compatibles con smartctl, pero puede ser necesario pasar una ruta situada en /dev/bus/ y definir el tipo de controladora en el archivo del recolector.
Estas situaciones merecen una guía separada sobre qué hacer cuando Scrutiny no detecta los discos, ya que dependen del puente USB, la controladora y la forma en que el kernel expone cada dispositivo.
Errores frecuentes al instalar Scrutiny con Docker

El panel está vacío
Comprueba que los discos estén incluidos en devices y ejecuta manualmente el recolector. También conviene revisar los logs para verificar si smartctl ha podido abrir cada unidad.
El contenedor no puede consultar los datos SMART
Revisa que hayas añadido SYS_RAWIO y montado /run/udev en modo de solo lectura. Evita recurrir directamente a privileged: true, porque concede al contenedor un acceso prácticamente completo al host.
La unidad NVMe no aparece
Añade SYS_ADMIN y pasa el controlador, por ejemplo /dev/nvme0. Utilizar /dev/nvme0n1 es uno de los errores más habituales.
Smartctl devuelve el código de salida 2
Este código puede indicar que el dispositivo no se ha podido abrir o identificar. También puede aparecer con discos que están suspendidos. No significa automáticamente que la unidad haya sufrido un fallo físico.
El disco USB aparece sin información
Prueba primero smartctl directamente en el host. Algunos adaptadores y modos UAS no permiten transmitir los comandos SMART necesarios.
El puerto 8080 ya está ocupado
Cambia únicamente el puerto situado a la izquierda:
ports:
- "8090:8080"
En ese caso, el panel estará disponible en http://IP_DEL_SERVIDOR:8090.
Cómo actualizar Scrutiny sin perder el historial
Antes de actualizar, realiza una copia de las carpetas config e influxdb. Después consulta las versiones publicadas, cambia la etiqueta de la imagen en compose.yaml y ejecuta:
docker compose pull
docker compose up -d
Al utilizar volúmenes persistentes, Docker reemplazará el contenedor pero conservará la configuración y las métricas. Evita automatizar actualizaciones mediante etiquetas como nightly en un servidor que contenga información importante.
Una vez terminado el despliegue, tendrás un panel web desde el que consultar la salud SMART y la evolución térmica de tus unidades. El siguiente paso puede ser configurar alertas en Scrutiny para no depender de entrar manualmente en el panel, pero esa configuración conviene tratarla por separado para explicar correctamente las URLs de Shoutrrr, las credenciales y las pruebas de cada canal.
Soy un apasionado de la tecnología que ha convertido sus intereses «frikis» en profesión. Llevo más de 10 años de mi vida utilizando tecnología de vanguardia y trasteando todo tipo de programas por pura curiosidad. Ahora me he especializado en tecnología de ordenador y videojuegos. Esto es por que desde hace más de 5 años que trabajo redactando para varias webs en materia de tecnología y videojuegos, creando artículos que buscan darte la información que necesitas con un lenguaje entendible por todos.
Si tienes cualquier pregunta, mis conocimientos van desde todo lo relacionado con el sistema operativo Windows así como Android para móviles. Y es que mi compromiso es contigo, siempre estoy dispuesto a dedicarte unos minutos y ayudarte a resolver cualquier duda que tengas en este mundo de internet.