infra/roles/owntone-pulseaudio/tasks/main.yml

79 lines
1.7 KiB
YAML

---
- name: create pulseaudio dirs
file:
state: directory
path: "{{ item }}"
mode: '0644'
owner: root
group: root
loop_control:
label: "{{ item }}"
with_items:
- /etc/pulse/system.pa.d
- name: install pulseaudio
apt:
name:
- pulseaudio
- pulseaudio-dlna
update_cache: true
state: latest
tags:
- owntone-packages
- packages
# may not be needed, pacakge already proides other systemd unit files
# /etc/systemd/system/multi-user.target.wants/pulseaudio.service
# /etc/systemd/user/default.target.wants/pulseaudio.service
# /etc/systemd/user/sockets.target.wants/pulseaudio.socket
- name: template systemd unit files for pulseaudio
template:
src: "{{ item }}.j2"
dest: /etc/systemd/system/{{ item }}
owner: root
group: root
mode: 0644
notify: systemctl daemon-reload
loop_control:
label: "{{ item }}"
with_items:
- pulseaudio.service
- pulseaudio-dlna.service
tags:
- systemd
- name: start and enable pulseaudio services
when: not owntone_docker
service:
name: "{{ item }}"
state: started
enabled: true
loop_control:
label: "{{ item }}"
notify: restart dbus
with_items:
- pulseaudio
- pulseaudio-dlna
- pulseaudio-module-bluetooth
#- pulseaudio-module-raop
#- pulseaudio-module-zeroconf
#- pulseaudio-module-lirc
#- pulseaudio-module-jack
tags:
- systemd
- name: stop and disable pulseaudio if owntone runs in docker
when: owntone_docker == true
service:
name: "{{ item }}"
state: stopped
enabled: false
loop_control:
label: "{{ item }}"
with_items:
- pulseaudio
- pulseaudio-dlna
tags:
- systemd