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