50 lines
1.5 KiB
YAML
50 lines
1.5 KiB
YAML
---
|
|
- name: "Install Netdata monitoring service"
|
|
hosts: all
|
|
|
|
vars_files:
|
|
- vars/ports.yml
|
|
- vars/vars.yml
|
|
|
|
vars:
|
|
netdata_version: 'v2.4.0'
|
|
netdata_image: 'netdata/netdata:{{ netdata_version }}'
|
|
netdata_exposed_port: '{{ netdata_port }}'
|
|
|
|
tasks:
|
|
- name: 'Grab docker group id.'
|
|
ansible.builtin.shell:
|
|
cmd: |
|
|
set -o pipefail
|
|
grep docker /etc/group | cut -d ':' -f 3
|
|
executable: /bin/bash
|
|
register: netdata_docker_group_output
|
|
changed_when: netdata_docker_group_output.rc != 0
|
|
|
|
- name: 'Create NetData container from {{ netdata_image }}'
|
|
community.docker.docker_container:
|
|
name: netdata
|
|
image: '{{ netdata_image }}'
|
|
image_name_mismatch: 'recreate'
|
|
restart_policy: 'unless-stopped'
|
|
published_ports:
|
|
- '127.0.0.1:{{ netdata_exposed_port }}:19999'
|
|
volumes:
|
|
- '/:/host/root:ro,rslave'
|
|
- '/etc/group:/host/etc/group:ro'
|
|
- '/etc/localtime:/etc/localtime:ro'
|
|
- '/etc/os-release:/host/etc/os-release:ro'
|
|
- '/etc/passwd:/host/etc/passwd:ro'
|
|
- '/proc:/host/proc:ro'
|
|
- '/run/dbus:/run/dbus:ro'
|
|
- '/sys:/host/sys:ro'
|
|
- '/var/log:/host/var/log:ro'
|
|
- '/var/run/docker.sock:/var/run/docker.sock:ro'
|
|
capabilities:
|
|
- 'SYS_PTRACE'
|
|
- 'SYS_ADMIN'
|
|
security_opts:
|
|
- 'apparmor:unconfined'
|
|
env:
|
|
PGID: '{{ netdata_docker_group_output.stdout | default(999) }}'
|