--- # roles/webserver/tasks/main.yml # Die Aufgaben der Rolle. Jede Task ruft genau ein Modul auf (per FQCN). - name: Betriebssystem ausgeben (Facts nutzen) ansible.builtin.debug: msg: "Läuft auf {{ ansible_facts['distribution'] }} {{ ansible_facts['distribution_version'] }}" - name: Pakete installieren ansible.builtin.apt: name: "{{ packages }}" state: present update_cache: true notify: nginx neu starten - name: Webverzeichnis anlegen ansible.builtin.file: path: "{{ web_root }}" state: directory mode: '0755' - name: Konfiguration aus Template rendern ansible.builtin.template: src: nginx.conf.j2 dest: /etc/nginx/nginx.conf mode: '0644' notify: nginx neu starten - name: Startseite aus Template rendern (mit Schleife & Filter) ansible.builtin.template: src: index.html.j2 dest: "{{ web_root }}/index.html" mode: '0644' - name: Dienst aktivieren und starten ansible.builtin.service: name: nginx state: started enabled: true