106 lines
2.3 KiB
YAML
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
|