--- - name: Install prerequisites ansible.builtin.apt: name: - ca-certificates - curl - gnupg state: present update_cache: yes - name: Create apt keyrings dir ansible.builtin.file: path: /etc/apt/keyrings state: directory mode: '0755' - name: Add Docker GPG key ansible.builtin.get_url: url: https://download.docker.com/linux/debian/gpg dest: /etc/apt/keyrings/docker.asc mode: '0644' - name: Get system arch ansible.builtin.command: dpkg --print-architecture register: dpkg_arch changed_when: false - name: Add Docker repo ansible.builtin.apt_repository: repo: "deb [arch={{ dpkg_arch.stdout }} signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable" state: present filename: docker - name: Install Docker ansible.builtin.apt: name: - docker-ce - docker-ce-cli - containerd.io - docker-compose-plugin state: present update_cache: yes - name: Start Docker service ansible.builtin.systemd: name: docker state: started enabled: yes - name: Create PLG dir ansible.builtin.file: path: "{{ plg_install_dir }}" state: directory mode: '0755' - name: Copy PLG configs ansible.builtin.copy: src: "{{ item }}" dest: "{{ plg_install_dir }}/{{ item }}" mode: '0644' loop: - loki-config.yaml - promtail-config.yml - name: Template docker-compose ansible.builtin.template: src: docker-compose.yml.j2 dest: "{{ plg_install_dir }}/docker-compose.yml" mode: '0644' - name: Start PLG containers ansible.builtin.command: docker compose up -d args: chdir: "{{ plg_install_dir }}" register: compose_output changed_when: "'Started' in compose_output.stdout or 'Created' in compose_output.stdout"