Ver código fonte

[mopidy] Clean up role and endpoints

Colin Powell 2 anos atrás
pai
commit
5ce4163356

+ 5 - 11
lab/ansible/roles/caddy/files/Caddyfile

@@ -69,13 +69,10 @@ photos.unbl.ink {
 play.unbl.ink:6600 {
     reverse_proxy mopidy.service:6600
 }
-one.play.unbl.ink:6600 {
-    reverse_proxy mopidy.service:6600
-}
-two.play.unbl.ink:6600 {
-    reverse_proxy mopidy2.service:6600
+play.lab.unbl.ink:6600 {
+    reverse_proxy mopidy-dev.service:6600
 }
-mpd.play.unbl.ink:6600 {
+mpd.lab.unbl.ink:6600 {
     reverse_proxy mpd.service:6600
 }
 snap.unbl.ink:1780 {
@@ -87,13 +84,10 @@ snap.unbl.ink {
 play.unbl.ink {
     reverse_proxy mopidy.service:6680
 }
-one.play.unbl.ink {
-    reverse_proxy mopidy.service:6680
-}
-two.play.unbl.ink {
+play.lab.unbl.ink {
     reverse_proxy mopidy2.service:6680
 }
-mpd.play.unbl.ink {
+mpd.lab.unbl.ink {
     reverse_proxy mpd.service
 }
 radio.unbl.ink {

+ 12 - 43
lab/ansible/roles/mopidy/tasks/main.yml

@@ -1,62 +1,31 @@
 ---
 - name: Dependencies installed
   community.general.pkgng:
-    name: py39-pip py39-sqlite3 py39-gstreamer1 avahi-app gstreamer1-plugins-flac gstreamer1-plugins-wavpack gstreamer1-plugins-mpg123 gstreamer1-libav
+    name: py39-pip py39-sqlite3 py39-gstreamer1 gstreamer1-plugins-flac gstreamer1-plugins-wavpack gstreamer1-plugins-mpg123 gstreamer1-libav gstreamer1-plugins-theora gstreamer1-plugins-faad gstreamer1-plugins-bad gstreamer1-plugins-lame gstreamer1-plugins-twolame gstreamer1-plugins-soup gstreamer1-plugins-shout2
     state: latest
 
-- name: Dependencies installed
-  apt:
-    name: mopidy,mopidy-spotify,mopidy-soundcloud,mopidy-mpd,mopidy-Iris,mopidy-tunein,mopidy-local,mopidy-scrobbler
+- name: Mopidy plugins installed
+  pip:
+    name: mopidy,mopidy-bandcamp,mopidy-soundcloud,mopidy-mpd,mopidy-Iris,mopidy-tunein,mopidy-local,mopidy-scrobbler,mopidy-mowecl,mopidy-musicbox-webclient,mopidy-party,mopidy-muse,mopidy-Lagukan
     state: latest
 
-- name: mDNS disabled
-  shell: sysrc mdns_enable="NO"
-
-- name: mDNS stopped
-  service:
-    name: mdns
-    state: stopped
-
-- name: Avahi enabled
-  shell: sysrc avahi_daemon_enable="YES"
-
-- name: Avahi started
-  service:
-    name: avahi-daemon
-    state: started
+- name: Install webhooks
+  shell: pip install https://code.unbl.ink/secstate/mopidy-webhooks/archive/0.2.2.zip
 
-- name: Media folder exists
-  file:
-    path: /var/lib/mopidy/media
-    owner: mopidy
-    mode: 0775
-    state: directory
-
-- name: Music folder exists
-  file:
-    path: /var/lib/mopidy/media/music
-    owner: mopidy
-    mode: 0775
-    state: directory
-
-- name: Music folder exists
-  file:
-    path: /var/lib/mopidy/media/podcasts
-    owner: mopidy
-    mode: 0775
-    state: directory
-
-- name: Mopidy dependencies up-to-date
-  shell: "pip3 install mopidy-iris mopidy-muse mopidy-musicbox-webclient mopidy-mowecl mopidy-mobile mopidy-party mopidy-mpd mopidy-tunein mopidy-jellyfin mopidy-bookmarks mopidy-local"
+- name: Symlink image directory
+  shell: rm -rf /var/lib/mopidy/local/images && ln -s /var/lib/mopidy/media/music/.mopidy-images /var/lib/mopidy/local/images
 
 - name: Mopidy settings installed
   template:
     src: mopidy.conf.j2
-    dest: /usr/local/etc/mopidy/mopidy.conf
+    dest: /usr/local/etc/mopidy.conf
     owner: root
     mode: 0664
   notify: Immortal restarted
 
+- name: Mopidy local scan complete
+  shell: mopidy --config /usr/local/etc/mopidy.conf local scan
+
 - name: Mopidy immortal file installed
   copy:
     src: immortal.yml

+ 21 - 27
lab/ansible/roles/mopidy/templates/mopidy.conf.j2

@@ -1,6 +1,6 @@
 [core]
 cache_dir = /var/cache/mopidy
-config_dir = /etc/mopidy
+config_dir = /usr/local/etc
 data_dir = /var/lib/mopidy
 restore_state = true
 
@@ -13,8 +13,12 @@ follow_symlinks = true
 [local]
 media_dir = /var/lib/mopidy/media/music
 
+[local-images]
+enabled = true
+image_dir = /var/lib/mopidy/media/music/.mopidy-images/
+
 [m3u]
-playlists_dir = /var/lib/mopidy/playlists
+playlists_dir = /var/lib/mopidy/media/music/playlists
 
 [http]
 enabled = true
@@ -48,40 +52,30 @@ zeroconf = Mopidy MPD server on $hostname
 command_blacklist = listall,listallinfo
 default_playlist_scheme = m3u
 
-#[jellyfin]
-#hostname = jellyfin.service:8096
-#username = secstate
-#password = {{mopidy_jellyfin_password}}
-#libraries = Music
-#albumartistsort = False (Optional: will default to True if left undefined)
-#album_format = {ProductionYear} - {Name} (Optional: will default to "{Name}" if left undefined)
-
-#[spotify]
-#username = 1259345154
-#password = {{mopidy_spotify_pass}}
-#client_id = 35a0ba20-960d-4a0d-8051-0b5616052b90
-#client_secret = {{mopidy_spotify_client_secret}}
-
-#[spotify_web]
-#client_id = 35a0ba20-960d-4a0d-8051-0b5616052b90
-#client_secret = {{mopidy_spotify_client_secret}}
-
 [musicbox_webclient]
 enabled = true
 musicbox = true
 on_track_click = ADD_THIS_BOTTOM
 
-[scrobbler]
-##api_key = {{mopidy_lastfm_api_key}}
-##api_secret = {{mopidy_lastfm_secret}}
-username = powellc
-password = {{mopidy_lastfm_password}}
+#[scrobbler]
+#api_key = {{mopidy_lastfm_api_key}}
+#api_secret = {{mopidy_lastfm_secret}}
+#username = powellc
+#password = {{mopidy_lastfm_password}}
+
+[bandcamp]
+identity: {{mopidy_bandcamp_identity}}
 
 [webhooks]
 enabled = true
-urls = http://192.168.1.123:8000/api/v1/scrobbles/mopidy/
+urls = http://vrobbler.service/api/v1/scrobbles/mopidy/
+tokens = {{vrobbler_webhook_token}}
+
+[lagukan]
+autostart = false
 
 [audio]
-output = audioresample ! audioconvert ! audio/x-raw,rate=48000,channels=2,format=S16LE ! wavenc ! tcpclientsink host=127.0.0.1
+output = audioresample ! audioconvert ! audio/x-raw,rate=48000,channels=2,format=S16LE ! wavenc ! tcpclientsink host=snapcast.service port=4098
 #output = lamemp3enc ! shout2send async=false mount=mopidy ip=icecast1.local port=8010 password=mainr0ot
 #output = tee name=t ! queue ! audioresample ! audio/x-raw,rate=48000,channels=2,format =S16LE ! audioconvert ! wavenc ! filesink location=/tmp/snapfifo t. ! queue ! lamemp3enc ! shout2send async=false mount=mopidy ip=icecast1.local port=8010 password=mainr0ot
+

+ 4 - 3
lab/ansible/roles/unbound/files/service.zones

@@ -2,16 +2,17 @@ private-domain: "service."
 local-zone: "service." static
 local-data: "dns.service        IN      A       192.168.1.239"
 local-data: "pan.service        IN      A       192.168.1.1"
-local-data: "nfs.service        IN      A       192.168.1.129"
+local-data: "nfs.service        IN      A       192.168.1.128"
 local-data: "pallene.service    IN      A       192.168.1.169"
 local-data: "gw100.service      IN      A       192.168.1.137"
 local-data: "webcams.service    IN      A       192.168.1.128"
 local-data: "podcasts.service   IN      A       192.168.1.190"
 local-data: "photos.service     IN      A       192.168.1.215"
-local-data: "mopidy.service     IN      A       192.168.1.195"
+local-data: "mopidy.service     IN      A       192.168.1.144"
+local-data: "snapcast.service   IN      A       192.168.1.245"
 local-data: "icecast.service    IN      A       192.168.1.198"
 local-data: "mpd.service	    IN  	A	    192.168.1.230"
-local-data: "mopidy2.service    IN      A       192.168.1.218"
+local-data: "mopidy-dev.service IN      A       192.168.1.218"
 local-data: "s3.service         IN      A       192.168.1.222"
 local-data: "tor.service        IN      A       192.168.1.91"
 local-data: "galene.service     IN      A       192.168.1.92"

+ 3 - 3
lab/ansible/roles/unbound/files/unblink.zones

@@ -18,9 +18,6 @@ local-data: "webcams.unbl.ink   IN      A       192.168.1.142"
 local-data: "podcasts.unbl.ink  IN      A       192.168.1.142"
 local-data: "photos.unbl.ink    IN      A       192.168.1.142"
 local-data: "play.unbl.ink      IN      A       192.168.1.142"
-local-data: "one.play.unbl.ink  IN      A       192.168.1.142"
-local-data: "two.play.unbl.ink  IN      A       192.168.1.142"
-local-data: "mpd.play.unbl.ink  IN      A       192.168.1.142"
 local-data: "ci.unbl.ink        IN      A       192.168.1.142"
 local-data: "snap.unbl.ink      IN      A       192.168.1.142"
 local-data: "radio.unbl.ink     IN      A       192.168.1.142"
@@ -61,8 +58,11 @@ local-data: "xmpp.unbl.ink      IN      A       192.168.1.142"
 local-data: "bastion.unbl.ink   IN      A       192.168.1.142"
 local-data: "library.unbl.ink   IN      A       192.168.1.142"
 local-data: "emus.lab.unbl.ink	IN	    A	    192.168.1.142"
+local-data: "mpd.lab.unbl.ink   IN      A       192.168.1.142"
+local-data: "play.lab.unbl.ink	IN	    A	    192.168.1.142"
 local-data: "scratch.lab.unbl.ink	IN	A	    192.168.1.142"
 local-data: "vrobbler.lab.unbl.ink  IN	A   	192.168.1.142"
+local-data: "library.lab.unbl.ink  IN	A   	192.168.1.142"
 local-data: "south.cam.timberwyckfarm.com       IN      A       192.168.1.142"
 local-data: "weather.cam.timberwyckfarm.com     IN      A       192.168.1.142"
 local-data: "unbl.ink	        IN  	A	    142.93.153.227"