Files
ansible/roles/wake_on_lan/tasks/main.yml
T
2026-07-10 22:39:54 +02:00

69 lines
2.0 KiB
YAML
Executable File

- name: Install zabbix agent
become: "{{ false if inventory_hostname == 'nas.home.lan' else true }}"
block:
- name: Include facts
ansible.builtin.include_role:
name: "setup"
when: ansible_facts.architecture is not defined
- name: Install ethtool
ansible.builtin.apt:
name: ethtool
state: present
become: true
- name: Display all interfaces name
ansible.builtin.debug:
var: ansible_facts.interfaces
- name: Get wifi adapter
ansible.builtin.set_fact:
active_adapter: '{{ item }}'
loop: '{{ ansible_facts.interfaces }}'
when: '(item.startswith("eno") or item.startswith("enp") or item.startswith("nic")) and not item.endswith("avahi")'
- name: Creating config
become: true
ansible.builtin.copy:
dest: "/etc/systemd/system/wol@.service"
content: |
[Unit]
Description=Enable Wake On Lan
[Service]
Type=oneshot
ExecStart = /usr/sbin/ethtool --change %i wol g
[Install]
WantedBy=basic.target
owner: root
mode: '0744'
- name: Restart service wol, in all cases
ansible.builtin.service:
name: wol@{{ item }}
state: restarted
enabled: true
become: true
loop: '{{ ansible_facts.interfaces }}'
when: '(item.startswith("eno") or item.startswith("enp")) and not item.endswith("avahi")'
- name: Copy script
become: true
ansible.builtin.copy:
src: pre-shutdown.sh
dest: /usr/local/bin/pre-shutdown.sh
owner: root
mode: '0744'
- name: Create pre-shutdown service
become: true
ansible.builtin.copy:
dest: "/etc/systemd/system/pre-shutdown.service"
src: pre-shutdown.service
owner: root
mode: '0744'
- name: Enable pre-shutdown service
become: true
ansible.builtin.systemd:
name: pre-shutdown.service
enabled: true
state: restarted