debian-setup/tasks/mpd.yml

107 lines
2.3 KiB
YAML

---
- 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: always
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