Hey Community, i want to share a Dashboard to Monitor docker Containers.
My Setup uses the monitor_docker integration.
monitor_docker integration configuration:
- name: Docker HassOS
url: tcp://local-docker-socket-proxy:2375
switchenabled: false
monitored_conditions:
- allinone
scan_interval: 20
Dashboard: (using Auto-entities, Mushroom and more…)
type: custom:auto-entities
card:
type: entities
filter:
include:
- entity_id: sensor.docker_hassos_*
options:
type: custom:stack-in-card
mode: vertical
cards:
- type: markdown
content: >-
{% set addon_name = state_attr('this.entity_id', 'friendly_name')
%} {% set addon_path = addon_name.replace('addon_','') %}
{% if addon_path[8] == '_' %}
{% set addon_name = addon_path.replace(addon_path.split('_')[0] + '_','') %}
{% set addon_name = addon_name.replace('_',' ') %}
{% set addon_name = addon_name.replace('-',' ') %}
{% else %}
{% set addon_name = addon_name.replace('addon_core_','') %}
{% set addon_name = addon_name.replace('hassio_','') %}
{% set addon_name = addon_name.replace('addon_local_','') %}
{% endif %}
{% set addon_settings = "/hassio/addon/" + addon_path[:-1] + "/info" %}
<div id ='{{ addon_name }}'><font color = {{'green' if is_state('this.entity_id', 'running') else 'red' if is_state('this.entity_id', 'exited') else 'orange'}}>
# <u>{{ addon_name | capitalize }}</u></font></div>
<h3>{% if states('this.entity_id') == "running" %}
Hostname: {{ addon_path }}
{% endif %}</h3>
{% if "hassio_" not in addon_path and not "homeassistant" in addon_path %}
[<ha-alert alert-type="warning">Addon Einstellungen</ha-alert>]({{ addon_settings }})
{% endif %}
- type: horizontal-stack
cards:
- type: custom:gauge-card
title: CPU pro Kern
entity: this.entity_id
attribute: 1cpu_percentage
measurement: "%"
scale: 25px
severity:
red: 50
green: 0
amber: 25
- type: custom:gauge-card
title: CPU Gesamt
entity: this.entity_id
attribute: cpu_percentage
measurement: "%"
scale: 25px
severity:
red: 200
green: 0
amber: 100
- type: custom:gauge-card
title: RAM (%)
entity: this.entity_id
attribute: memory_percentage
measurement: "%"
scale: 25px
severity:
red: 50
green: 0
amber: 25
- type: custom:mushroom-template-card
entity: this.entity_id
primary: RAM
secondary: >
{% set value = state_attr(config.entity, 'memory') %} {% if value
is none %}
{% set value = 0 %}
{% endif %} {{ value }} MB
tap_action:
action: more-info
hold_action:
action: more-info
layout: vertical
- type: entities
entities:
- type: custom:mushroom-template-card
entity: this.entity_id
primary: Speed Up
secondary: >
{% set value = state_attr(config.entity, 'network_speed_up')
%} {% if value is none %}
{% set value = 0 %}
{% endif %} {{ value }} MB
tap_action:
action: more-info
hold_action:
action: more-info
layout: vertical
- type: custom:mushroom-template-card
entity: this.entity_id
primary: Speed Down
secondary: >
{% set value = state_attr(config.entity, 'network_speed_down')
%} {% if value is none %}
{% set value = 0 %}
{% endif %} {{ value }} MB
tap_action:
action: more-info
hold_action:
action: more-info
layout: vertical
- type: custom:mushroom-template-card
entity: this.entity_id
primary: Gesamt Up
secondary: >
{% set value = state_attr(config.entity, 'network_total_up')
%} {% if value is none %}
{% set value = 0 %}
{% endif %} {{ value }} MB
tap_action:
action: more-info
hold_action:
action: more-info
layout: vertical
- type: custom:mushroom-template-card
entity: this.entity_id
primary: Gesamt Down
secondary: >
{% set value = state_attr(config.entity, 'network_total_down')
%} {% if value is none %}
{% set value = 0 %}
{% endif %} {{ value }} MB
tap_action:
action: more-info
hold_action:
action: more-info
layout: vertical
- type: entities
entities:
- type: custom:mushroom-template-card
entity: this.entity_id
primary: Abbild
secondary: "{{ state_attr(config.entity, 'image') }}"
tap_action:
action: more-info
hold_action:
action: more-info
layout: vertical
- type: custom:mushroom-template-card
entity: this.entity_id
primary: Status
secondary: "{{ state_attr(config.entity, 'status') }}"
tap_action:
action: more-info
hold_action:
action: more-info
layout: vertical
exclude:
- name: Container*
- name: Memory*
- entity_id: sensor.docker_hassos_*cpu
- entity_id: sensor.docker_hassos_images
- entity_id: sensor.docker_hassos_version
sort:
method: state
reverse: true