diff --git a/ansible/main.yml b/ansible/main.yml index 7624597..f0a836c 100644 --- a/ansible/main.yml +++ b/ansible/main.yml @@ -19,7 +19,7 @@ - tautulli - gitea - unifi-controller - - beets - - navidrome - - name: webtrees + - name: beets tags: test + - navidrome + - webtrees diff --git a/ansible/roles/beets/files/config.yaml b/ansible/roles/beets/files/config.yaml new file mode 100644 index 0000000..85f188d --- /dev/null +++ b/ansible/roles/beets/files/config.yaml @@ -0,0 +1,58 @@ +plugins: fetchart embedart scrub replaygain lastgenre chroma web inline +directory: /music +library: /config/musiclibrary.blb +art_filename: cover +threaded: yes +original_date: no +per_disc_numbering: yes + +paths: + default: $albumartist/$album%aunique{}/%if{$multidisc,$disc}$track - $title + singleton: Non-Album/$artist - $title + comp: Various Artists/$album%aunique{}/%if{$multidisc,$disc}$track - $title + albumtype_soundtrack: Soundtracks/$album/$track $title +item_fields: + multidisc: 1 if disctotal > 1 else 0 # Makes it so track number is preceded by disc number only if album contains multiple discs + +import: + write: yes + copy: no + move: yes + resume: ask + incremental: yes + quiet_fallback: skip + timid: no + log: /config/beet.log + +lastgenre: + auto: yes + source: album + +embedart: + auto: yes + +fetchart: + auto: yes + +replaygain: + auto: no + +scrub: + auto: yes + +replace: + '^\.': _ + '[\x00-\x1f]': _ + '[<>:"\?\*\|]': _ + '[\xE8-\xEB]': e + '[\xEC-\xEF]': i + '[\xE2-\xE6]': a + '[\xF2-\xF6]': o + '[\xF8]': o + '\.$': _ + '\s+$': '' + +web: + host: 0.0.0.0 + port: 8337 + diff --git a/ansible/roles/beets/tasks/main.yml b/ansible/roles/beets/tasks/main.yml index 5c0fdfc..cd84b89 100644 --- a/ansible/roles/beets/tasks/main.yml +++ b/ansible/roles/beets/tasks/main.yml @@ -22,6 +22,22 @@ validate: docker-compose -f %s config become: true +- name: Create data directory + file: + path: "{{ data_dir }}/{{ role_name }}" + state: directory + owner: "{{ service_user.uid }}" + mode: "{{ docker_compose_directory_mask }}" + become: true + +- name: Copy config file to data directory + copy: + src: config.yaml + dest: "{{ data_dir }}/{{ role_name }}" + owner: "{{ service_user.uid }}" + mode: "{{ docker_compose_file_mask }}" + become: true + - name: Start docker container community.docker.docker_compose: project_src: "{{ install_directory }}/{{ role_name }}"