--- - name: install vnstat pacman: name: vnstat state: present - name: start and enable vnstat service systemd: name: vnstat.service enabled: yes state: started - name: add interfaces to vnstat for batman interfaces command: /usr/bin/vnstat -u -i bat{{ item.name }} args: creates: '/var/lib/vnstat/bat{{ item.name }}' with_items: "{{ sites }}" when: "'fastd' in group_names" - name: add interfaces to vnstat for uplink interfaces command: /usr/bin/vnstat -u -i bb{{ hostvars[item]['wireguard_bb_name'] }} args: creates: "/var/lib/vnstat/bb{{ hostvars[item]['wireguard_bb_name'] }}" with_items: - "{{ groups['uplink'] }}" when: "'fastd' in group_names" - name: add interfaces to vnstat for outgoing v4 interface command: /usr/bin/vnstat -u -i {{ ansible_default_ipv4.interface }} args: creates: '/var/lib/vnstat/{{ ansible_default_ipv4.interface }}' - name: add interfaces to vnstat for outgoing v6 interface command: /usr/bin/vnstat -u -i {{ ansible_default_ipv6.interface }} args: creates: '/var/lib/vnstat/{{ ansible_default_ipv6.interface }}' - name: add output folder for vnstat graphs file: path: /srv/http/vnstat state: directory - name: install gd which is needed for graph generation pacman: name: gd state: present - name: add bash script to generate vnstat graphs copy: src: vnstat.sh dest: /usr/local/bin/vnstat.sh mode: 0744 - name: add cronjob to generate vnstat graphs cron: name: vnstat minute: '*/5' user: root cron_file: vnstat job: '/usr/local/bin/vnstat.sh' - name: add vnstat nginx config copy: src: vnstat dest: /etc/nginx/sites-available/vnstat notify: reload nginx - name: enable vnstat nginx config file: src: /etc/nginx/sites-available/vnstat dest: /etc/nginx/sites-enabled/vnstat state: link notify: reload nginx