#SPDX-License-Identifier: MIT-0 --- # tasks file for traefik - name: Create systemd user directory ansible.builtin.file: path: ~/.config/systemd/user state: directory mode: "0755" - name: Create podman quadlet directory ansible.builtin.file: path: ~/.config/containers/systemd state: directory mode: "0755" - name: Create acme file ansible.builtin.file: path: "~/{{ infra_acme.storage }}" state: file mode: "0600" - name: Setup local socket for traefik ansible.builtin.systemd_service: name: podman.socket state: started enabled: true scope: user - name: Stop legacy generated traefik service ansible.builtin.systemd_service: name: container-traefik.service state: stopped enabled: false scope: user failed_when: false - name: Remove legacy generated traefik service ansible.builtin.file: path: ~/.config/systemd/user/container-traefik.service state: absent - name: Install traefik http socket ansible.builtin.copy: src: http.socket dest: ~/.config/systemd/user/http.socket mode: "0644" - name: Install traefik https socket ansible.builtin.copy: src: https.socket dest: ~/.config/systemd/user/https.socket mode: "0644" - name: Install traefik quadlet ansible.builtin.template: src: traefik.container.j2 dest: ~/.config/containers/systemd/traefik.container mode: "0644" - name: Reload systemd user units ansible.builtin.systemd_service: daemon_reload: true scope: user - name: Activate traefik sockets ansible.builtin.systemd_service: name: "{{ item }}" state: started enabled: true scope: user loop: - http.socket - https.socket - name: Activate traefik service ansible.builtin.systemd_service: name: traefik.service state: started scope: user