diff --git a/pi-hosted_template/images/rpi_monitor.png b/pi-hosted_template/images/rpi_monitor.png new file mode 100644 index 0000000..4818773 Binary files /dev/null and b/pi-hosted_template/images/rpi_monitor.png differ diff --git a/pi-hosted_template/stack/raspberrypi-monitoring.yml b/pi-hosted_template/stack/raspberrypi-monitoring.yml new file mode 100644 index 0000000..7a21bcb --- /dev/null +++ b/pi-hosted_template/stack/raspberrypi-monitoring.yml @@ -0,0 +1,79 @@ +version: "3" +services: + cadvisor: + container_name: monitoring-cadvisor + devices: + - /dev/kmsg:/dev/kmsg + expose: + - 8080 + hostname: rpi-cadvisor + image: braingamer/cadvisor-arm:latest + ipc: shareable + networks: + - rpimonitor_default + privileged: true + restart: unless-stopped + security_opt: + - label=disable + volumes: + - /:/rootfs:ro + - /var/run:/var/run:rw + - /sys:/sys:ro + - /var/lib/docker/:/var/lib/docker:ro + + grafana: + container_name: monitoring-grafana + environment: + - GF_USERS_ALLOW_SIGN_UP=false + - GF_PATHS_CONFIG=/etc/grafana/grafana.ini + - GF_PATHS_DATA=/var/lib/grafana + - GF_PATHS_HOME=/usr/share/grafana + - GF_PATHS_LOGS=/var/log/grafana + - GF_PATHS_PLUGINS=/var/lib/grafana/plugins + - GF_PATHS_PROVISIONING=/etc/grafana/provisioning + hostname: rpi-grafana + image: grafana/grafana:latest + networks: + - rpimonitor_default + ports: + - 3000:3000 + restart: unless-stopped + volumes: + # to be modified depending on your needs + - /portainer/Files/AppData/Config/grafana/data:/var/lib/grafana + - /portainer/Files/AppData/Config/grafana/grafana.ini:/etc/grafana/grafana.ini + - /portainer/Files/AppData/Config/grafana/provisioning:/etc/grafana/provisioning + + node-exporter: + container_name: monitoring-node-exporter + expose: + - 9100 + hostname: rpi-exporter + image: prom/node-exporter:latest + networks: + - rpimonitor_default + restart: unless-stopped + + prometheus: + command: + - '--config.file=/etc/prometheus/prometheus.yml' + - '--storage.tsdb.path=/prometheus' + container_name: monitoring-prometheus + expose: + - 9090 + hostname: rpi-prom + image: prom/prometheus:latest + networks: + - rpimonitor_default + restart: unless-stopped + volumes: + # to be modified depending on your needs + - /portainer/Files/AppData/Config/prometheus/data:/prometheus + - /portainer/Files/AppData/Config/prometheus/config:/etc/prometheus/ + links: + - cadvisor:cadvisor + - node-exporter:node-exporter + +networks: + rpimonitor_default: + external: true \ No newline at end of file diff --git a/pi-hosted_template/template/portainer-v2.json b/pi-hosted_template/template/portainer-v2.json index acf2d46..bde3c07 100644 --- a/pi-hosted_template/template/portainer-v2.json +++ b/pi-hosted_template/template/portainer-v2.json @@ -1215,13 +1215,32 @@ } ] }, + { + "categories": [ + "Monitor", + "Tools" + ], + "description": "Monitor your Raspberry Pi and Dockers using Grafana developed by oijkn. Please download grafana configs from his git https://github.com/oijkn/Docker-Raspberry-PI-Monitoring", + "logo": "https://raw.githubusercontent.com/novaspirit/pi-hosted/main/pi-hosted_template/images/rpi_monitor.png", + "name": "Raspberry Pi Docker Monitor", + "platform": "linux", + "ports": [ + "3000:3000/tcp" + ], + "restart_policy": "unless-stopped", + "title": "Raspberry Pi Docker Monitor", + "type": 3, + "repository": { + "stackfile": "pi-hosted_template/stack/raspberrypi-monitoring.yml", + "url": "https://github.com/novaspirit/pi-hosted" + } + }, { "categories": [ "Proxy", "Tools" ], "description": "Nginx Proxy Manager enables you to easily forward to your websites running at home or otherwise, including free SSL, without having to know too much about Nginx or Letsencrypt.", - "logo": "https://raw.githubusercontent.com/novaspirit/pi-hosted/main/pi-hosted_template/images/proxy_mgr.png", "name": "nginx-proxy-manager", "platform": "linux", @@ -1244,13 +1263,14 @@ ], "restart_policy": "unless-stopped", - "title": "Nginx Proxy Manager", + "title": "RaspberryPi Docker Monitor", "type": 3, "repository": { "stackfile": "pi-hosted_template/stack/nginx-proxy-manager.yml", "url": "https://github.com/novaspirit/pi-hosted" } - }, + }, + { "categories": [ "Downloaders"