From 6bf0fdbba34dbccf08c065840b1273b75f4ca845 Mon Sep 17 00:00:00 2001 From: polyfloyd Date: Mon, 16 May 2022 22:55:23 +0200 Subject: [PATCH] music: Install Trollibox from Github release --- roles/music/tasks/main.yaml | 6 +++--- roles/music/tasks/trollibox.yaml | 26 ++++++++++++++----------- roles/music/templates/trollibox.service | 2 +- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/roles/music/tasks/main.yaml b/roles/music/tasks/main.yaml index 6171897..2b73f78 100644 --- a/roles/music/tasks/main.yaml +++ b/roles/music/tasks/main.yaml @@ -1,9 +1,9 @@ --- - tags: music_mpd - include_tasks: mpd.yaml + import_tasks: mpd.yaml - tags: music_trollibox - include_tasks: trollibox.yaml + import_tasks: trollibox.yaml - tags: music_librespot - include_tasks: librespot.yaml + import_tasks: librespot.yaml diff --git a/roles/music/tasks/trollibox.yaml b/roles/music/tasks/trollibox.yaml index f707b26..dd5a2a3 100644 --- a/roles/music/tasks/trollibox.yaml +++ b/roles/music/tasks/trollibox.yaml @@ -1,16 +1,20 @@ --- -- name: Clone trollibox source - git: - repo: https://github.com/polyfloyd/trollibox.git - version: master - dest: /opt/trollibox - accept_hostkey: yes - notify: - - rebuild trollibox - - restart trollibox +- name: Get latest Trollibox version from Github API + get_url: + url: "https://api.github.com/repos/polyfloyd/trollibox/releases/latest" + dest: "/tmp/_ansible_trollibox_latest_release.json" -- name: Initial build - meta: flush_handlers +- name: Get download url + shell: cat "/tmp/_ansible_trollibox_latest_release.json" | jq '.assets[] | select(.name | contains("linux-amd64")) | .browser_download_url' -r + register: "trollibox_download_url" + +- name: Download Trollibox + unarchive: + src: "{{ trollibox_download_url.stdout }}" + remote_src: yes + dest: /usr/local/bin + include: [ trollibox ] + mode: 0755 - name: Install service file template: diff --git a/roles/music/templates/trollibox.service b/roles/music/templates/trollibox.service index 6dd9041..938369a 100644 --- a/roles/music/templates/trollibox.service +++ b/roles/music/templates/trollibox.service @@ -11,7 +11,7 @@ Requires=mpd.service Type=simple Restart=always RestartSec=2s -ExecStart=/opt/trollibox/bin/trollibox -conf /etc/trollibox.yaml +ExecStart=/usr/local/bin/trollibox -conf /etc/trollibox.yaml User={{ music_audio_user }} Group={{ music_audio_user }}