From a07dd18e7167007565946f174df26efd50cffbcf Mon Sep 17 00:00:00 2001
From: Christian Elberfeld <elberfeld@web.de>
Date: Thu, 2 Mar 2023 23:50:17 +0100
Subject: [PATCH] netdata auf hix

---
 remote/docker_netdata/tasks/main.yml          | 24 ++++++++++++
 .../templates/docker-compose.yml              | 37 +++++++++++++++++++
 remote/docker_prometheus/tasks/main.yml       | 15 +++-----
 site.yml                                      |  6 +++
 4 files changed, 73 insertions(+), 9 deletions(-)
 create mode 100644 remote/docker_netdata/tasks/main.yml
 create mode 100644 remote/docker_netdata/templates/docker-compose.yml

diff --git a/remote/docker_netdata/tasks/main.yml b/remote/docker_netdata/tasks/main.yml
new file mode 100644
index 00000000..21a41e1f
--- /dev/null
+++ b/remote/docker_netdata/tasks/main.yml
@@ -0,0 +1,24 @@
+---
+
+- name: "create folder struct for {{ servicename }}"
+  file: 
+    path: "{{ item }}" 
+    state: "directory"
+  with_items:
+    - "{{ basedir }}"
+    - "{{ basedir }}/config"
+    - "{{ basedir }}/lib"
+    - "{{ basedir }}/cache"
+
+- name: "create config files for {{ servicename }}"
+  template: 
+    src: "{{ item }}"
+    dest: "{{ basedir }}/{{ item }}"
+  with_items:
+    - docker-compose.yml 
+
+- name: "start {{ servicename }} docker"
+  docker_compose:
+    project_src: "{{ basedir }}"
+    state: present
+
diff --git a/remote/docker_netdata/templates/docker-compose.yml b/remote/docker_netdata/templates/docker-compose.yml
new file mode 100644
index 00000000..50e7f135
--- /dev/null
+++ b/remote/docker_netdata/templates/docker-compose.yml
@@ -0,0 +1,37 @@
+version: '3'
+
+services:
+  
+  app:
+    image: netdata/netdata
+    restart: always
+    cap_add:
+      - SYS_PTRACE
+      - SYS_ADMIN
+    security_opt:
+      - apparmor:unconfined
+    environment:
+      - DOCKER_USR=root
+    volumes:
+      - {{ basedir }}/config/netdata:/etc/netdata
+      - {{ basedir }}/lib:/var/lib/netdata
+      - {{ basedir }}/cache:/var/cache/netdata
+      - /etc/passwd:/host/etc/passwd:ro
+      - /etc/group:/host/etc/group:ro
+      - /proc:/host/proc:ro
+      - /sys:/host/sys:ro
+      - /etc/os-release:/host/etc/os-release:ro
+      - /var/run/docker.sock:/var/run/docker.sock:ro
+    labels:
+      - traefik.enable=true
+      - traefik.http.routers.{{ servicename }}.rule=Host(`{{ domain }}`)
+      - traefik.http.routers.{{ servicename }}.entrypoints=websecure
+      - traefik.http.services.{{ servicename }}.loadbalancer.server.port=19999
+    networks:
+      - default
+      - web
+
+
+networks:
+  web:
+    external: true
\ No newline at end of file
diff --git a/remote/docker_prometheus/tasks/main.yml b/remote/docker_prometheus/tasks/main.yml
index 1d79a50e..85279791 100644
--- a/remote/docker_prometheus/tasks/main.yml
+++ b/remote/docker_prometheus/tasks/main.yml
@@ -1,17 +1,14 @@
-
 ---
 
-- name: "create folder struct for {{ basedir }}"
+- name: "create folder struct for {{ servicename }}"
   file: 
     path: "{{ basedir }}" 
     state: "directory"
+  with_items:
+    - "{{ basedir }}"
+    - "{{ basedir }}/data"
 
-- name: "create folder struct for {{ basedir }}"
-  file: 
-    path: "{{ basedir }}/data" 
-    state: "directory"
-
-- name: "create config files for {{ basedir }}"
+- name: "create config files for {{ servicename }}"
   template: 
     src: "{{ item }}"
     dest: "{{ basedir }}/{{ item }}"
@@ -19,7 +16,7 @@
     - docker-compose.yml 
     - prometheus.yml 
 
-- name: "start {{ basedir }} docker"
+- name: "start {{ servicename }} docker"
   docker_compose:
     project_src: "{{ basedir }}"
     state: present
diff --git a/site.yml b/site.yml
index 423e6e88..f3b4b3de 100644
--- a/site.yml
+++ b/site.yml
@@ -326,6 +326,12 @@
         mqtt_port: 1883,
         influxdb_port: 18086
       }
+    - { 
+        role: remote/docker_netdata, tags: netdata, 
+        servicename: netdata,
+        basedir: /srv/netdata, 
+        domain: "netdata.warpzone.remote"
+      }
     - { 
         role: remote/docker_prometheus, tags: prometheus, 
         servicename: prometheus,
-- 
GitLab