Add MPD docker setup

This commit is contained in:
Sonny Bakker 2025-04-21 17:32:24 +02:00
parent bd503eaa0d
commit 4259710626
10 changed files with 170 additions and 77 deletions

View file

@ -1,71 +1,106 @@
# TODO: use docker setup
- name: create mpd directories
- name: Stop systemd mpd service
become: true
file:
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 }}'
mode: '{{ item.mode }}'
owner: '{{ item.owner }}'
group: '{{ item.group }}'
mode: '0755'
state: directory
loop:
- {
path: '{{ ansible_env.HOME }}/.config/mpd',
mode: 755,
owner: 'sonny',
group: 'sonny',
}
- {
path: '/etc/systemd/system/mpd.service.d',
mode: 755,
owner: 'root',
group: 'root',
}
- {
path: '/etc/systemd/system/mpd.socket.d',
mode: 755,
owner: 'root',
group: 'root',
}
notify: restart mpd service
- path: '{{ mpd_config_dir }}'
owner: sonny
group: sonny
- name: copy mpd templates
- 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
template:
ansible.builtin.template:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
mode: '{{ item.mode }}'
owner: '{{ item.owner }}'
group: '{{ item.group }}'
loop:
- {
src: 'templates/systemd/mpd/service.j2',
dest: '/etc/systemd/system/mpd.service.d/override.conf',
mode: 755,
owner: 'root',
group: 'root',
}
- {
src: 'templates/systemd/mpd/socket.j2',
dest: '/etc/systemd/system/mpd.socket.d/override.conf',
mode: 755,
owner: 'root',
group: 'root',
}
- {
src: 'templates/mpd.j2',
dest: '{{ ansible_env.HOME }}/.config/mpd/mpd.conf',
mode: 0640,
owner: 'sonny',
group: 'sonny',
}
notify: restart mpd service
- src: templates/mpd/config.j2
dest: '{{ mpd_config_dir }}/mpd.conf'
mode: '0640'
owner: sonny
group: sonny
- name: created mpd files
file:
- 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:
- '{{ ansible_env.HOME }}/.config/mpd/db'
- '{{ ansible_env.HOME }}/.config/mpd/state'
- '{{ ansible_env.HOME }}/.config/mpd/sticker.sql'
notify: restart mpd service
- '{{ 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: policy
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