debian-setup/tasks/mpd.yml

106 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