فهرست منبع

[navidrome] Add new role

Colin Powell 2 سال پیش
والد
کامیت
781459b3f4
4فایلهای تغییر یافته به همراه53 افزوده شده و 7 حذف شده
  1. 7 7
      lab/ansible/hosts
  2. 5 0
      lab/ansible/playbook.yml
  3. 7 0
      lab/ansible/roles/navidrome/files/immortal.yml
  4. 34 0
      lab/ansible/roles/navidrome/tasks/main.yml

+ 7 - 7
lab/ansible/hosts

@@ -17,7 +17,7 @@ hauk0.local
 icecast0.local
 jellyfin1.local
 kibana1.local
-linkace0.local
+linkace1.local
 logstash1.local
 mailhog0.local
 maloja1.local
@@ -27,7 +27,7 @@ minio1.local
 mongodb1.local
 mopidy0.local
 mopidy1.local
-mopidy3.local
+navidrome0.local
 mpd1.local
 muchsync1.local
 ntfy1.local
@@ -160,9 +160,6 @@ weewx1.local
 [books]
 calibre1.local
 
-[bookmarks]
-linkace0.local
-
 [reading]
 bookwyrm0.local
 
@@ -197,13 +194,16 @@ ntfy1.local
 zerobin1.local
 
 [mopidy]
-mopidy3.local
+mopidy0.local
+
+[navidrome]
+navidrome0.local
 
 [snapcast]
 snapcast0.local
 
 [audio]
-mopidy3.local
+mopidy0.local
 
 [icecast]
 icecast0.local

+ 5 - 0
lab/ansible/playbook.yml

@@ -84,6 +84,11 @@
     - role: beets
     - role: mopidy
 
+- hosts: navidrome
+  roles:
+    - role: immortal
+    - role: navidrome
+
 - hosts: snapcast
   roles:
     - role: immortal

+ 7 - 0
lab/ansible/roles/navidrome/files/immortal.yml

@@ -0,0 +1,7 @@
+cmd: /usr/local/src/navidrome/navidrome --datafolder /var/lib/navidrome --musicfolder /var/lib/navidrome/media/music
+log:
+  file: /var/log/navidrome.log
+  age: 86400 # log 1 day
+  num: 7 # keep 7 files
+  size: 1 # size of file 1MB
+wait: 1

+ 34 - 0
lab/ansible/roles/navidrome/tasks/main.yml

@@ -0,0 +1,34 @@
+---
+- name: Dependencies installed
+  community.general.pkgng:
+    name: git-tiny,go,npm-node16,pkgconf,gmake
+    state: latest
+
+
+- name: Source folder exists
+  file:
+    path: /usr/local/src
+    mode: 0755
+    state: directory
+
+- name: Navidrome source cloned
+  git:
+    repo: "https://github.com/navidrome/navidrome.git"
+    dest: /usr/local/src/navidrome
+    accept_hostkey: yes
+    update: yes
+  ignore_errors: true
+  tags:
+    - deploy
+
+- name: Build navidrome
+  command: gmake setup && gmake buildall
+  chdir: /usr/local/src/navidrome
+
+- name: Immortal file installed
+  file:
+    src: immortal.yml
+    dest: /usr/local/etc/immortal/navidrome.yml
+    owner: root
+    mode: 0600
+  notify: Immortal restarted