- name: Stop systemd mpd service become: true ansible.builtin.systemd: name: mpd state: stopped enabled: false - name: Stop systemd mpd socket become: true ansible.builtin.systemd: name: mpd.socket state: stopped enabled: false - name: Remove previous configurations become: true ansible.builtin.file: path: '{{ item.path }}' state: absent loop: - path: '/etc/systemd/system/mpd.service.d' - path: '/etc/systemd/system/mpd.socket.d' - name: Create mpd directories become: true ansible.builtin.file: path: '{{ item.path }}' owner: '{{ item.owner }}' group: '{{ item.group }}' mode: '0755' state: directory loop: - path: '{{ mpd_config_dir }}' owner: sonny group: sonny - path: '{{ mpd_playlist_dir }}' owner: sonny group: sonny - path: '{{ mpd_state_dir }}' owner: sonny group: sonny - path: '{{ mpd_app_dir }}' owner: root group: root - name: Copy mpd templates become: true ansible.builtin.template: src: '{{ item.src }}' dest: '{{ item.dest }}' mode: '{{ item.mode }}' owner: '{{ item.owner }}' group: '{{ item.group }}' loop: - src: templates/mpd/config.j2 dest: '{{ mpd_config_dir }}/mpd.conf' mode: '0640' owner: sonny group: sonny - src: templates/mpd/dockerfile.j2 dest: '{{ mpd_app_dir }}/Dockerfile' mode: '0755' owner: sonny group: sonny - src: templates/mpd/docker-compose.j2 dest: '{{ mpd_app_dir }}/docker-compose.yml' mode: '0755' owner: sonny group: sonny - name: Create mpd files ansible.builtin.file: path: '{{ item }}' mode: '0755' state: touch loop: - '{{ mpd_config_dir }}/db' - '{{ mpd_config_dir }}/sticker.sql' - '{{ mpd_state_dir }}/state' - name: Stop current containers community.docker.docker_compose_v2: project_src: '{{ mpd_app_dir }}' state: stopped - name: Build image community.docker.docker_compose_v2: project_src: '{{ mpd_app_dir }}' build: policy state: stopped - name: Remove dangling containers community.docker.docker_compose_v2: project_src: '{{ mpd_app_dir }}' remove_orphans: true state: stopped - name: Start container community.docker.docker_compose_v2: project_src: '{{ mpd_app_dir }}' state: present