Monitor and control your Unraid instance(s). This allows to run Mover, Parity Check, Power Unraid On/Off, turn Array On/Off, monitor various statistics, control and monitor Docker containers. It's possible to build automations and alarms based on all these sensors or like actionable notifications of containers with higher than normal CPU/MEM usage etc.
- MQTT Broker
List of integrations needed to set this up:
-
Unraid API - This will allow you to control the
-
Glances - This is my go to integration for monitoring my servers statistics (depending on your system and OS you can get different access to different sensors, CPU usage, RAM usages, disck usasge, container stats, temps, Fan speeds etc.)
-
Monitor Docker & Docker-Socket-Proxy - Control your docker instances/containers, pay attention to the security! I am using this as my integration to my other docker instances also, but you could instead modify the dashboard to use Unraid-API only.
-
browser_mod - In this dashboard I used browser_mod for custom popups, to provide more details on the Docker containers.
On Unraid side, you must have Docker enabled to setup the containers below.
1. Unraid-API
The setup process is really well described here by ElectricBrainUK
2. Glances
(EDIT 25.4.2022: Glances v3.2.5 is not working HA 2022.4, using nicolargo/glances:3.2.4.2) Setup Glances docker container in Unraid, this is quite straight forward.
APPS -> Search for Glances -> Install
Take note of the ip and port you Glances is runnign, you need these in Home Assistant when setting up the integration. You can also open the WebUI to check all the info Glances is giving (Note! all might not be available through the integration).
3. Monitor Docker & Docker-Socket-Proxy
In order the Monitor Docker integration to work, you need run to Docker-Socket-Proxy on Unraid side. Check the QA part of the Monitor Docker readme, also check the Tecnativa Docker-Socket-Proxy security recommendations.
1. Unraid-API
The setup process is really well described here by ElectricBrainUK
2. Glances
On Home Assistant side connection to to your Glances docker is easy, through default integration.
Configurations -> Devices & Services -> Add Integration
Search for Glances and fill in the setup form. You want to use unique name (e.g. Unraid-1) so that it's easier to indentify the entities when you start having multiple Glances integrations.
3. Docker Monitor
Install Monitor Docker through HACS Monitor Docker readme. To use the monitor_docker you have to add the config in to your configuration.yaml, below is my config.
## MONITOR DOCKER ##
monitor_docker:
- name: UnraidDocker
url: tcp://Your-Unraid-IP:Docker-Socket-Proxy-Port
scan_interval: 30
monitored_conditions:
- version
- containers_running
- containers_paused
- containers_stopped
- containers_cpu_percentage
- containers_memory_percentage
- cpu_percentage
- health
- uptime
- memory
- memory_percentage
- network_speed_up
- network_speed_down
- allinone
For this view I used I used View Type Horizontal (layout-card) and vertical-stacks to define the columns of cards. You can easily arrange yours as needed.
List of cards used:
- vertical-stack
- horizontal-stack
- picture-elements
- custom:layout-card
- custom:button-card
- custom:auto-entities
- custom:bar-card
- custom:apexcharts-card
- history-graph
- custom:logbook-card
CARD | Containers Running |
---|---|
![]() |
EDIT 29.3.2022: Added a popup-button layer Containers Running uses custom:auto-entities to automatically list all containers with state "on". Custom:layout-card fills the card in 3 columns, with custom:button-cards presenting each individual container. Containers can be turned toggled (on/off) from the Green Indicator Circle (confirmation popup). By clicking the button-card, custom popup, using browser-mod integration is shown, with container specific details. Icons are present in www/icons folder and the filename.png should match the container name. containers-running.yaml |
![]() |
Containers can be turned toggled (on/off) from the Green Indicator Circle (with confirmation popup). High CPU and bandwith cues for each container. |
![]() |
Container - Popup Defined within the containers-running.yaml. Uses custom:button-card for the first "Power" element. 2nd element is history-graph, 4th and 5th element uses custom:apexcharts-card. Final element is custom:logbook-card. |
CARD | Picture Element |
---|---|
![]() |
Picture of my Unraid Enclosure, Shows Unraid Version Number, provided by Unraid-Api, and some hardware info also by Unraid-Api. Uses custom:button-card for the extra info positioning. picture-elements.yaml |
CARD | Button Row |
---|---|
![]() ![]() ![]() ![]() |
EDIT 29.3.2022: Some clean-up and update done Button row to control the Unraid instance, Array, Mover, Parity. BUT Messy YAML, needs clean-up and some parts need total redo (Unnecessary lines, not so perfect positioning (web vs mobile). button-row.yaml |