Installing extensions, doesn't appear in service

I installed Mopidy on my RPi using apt-get, and then installed the simple web interface and/or mopidy-mobile extension using pip install. I’m using a service mopidy, but the extensions are being automatically added to the non-service .conf. Adding the extension lines to the service .conf does not work.

pi@raspberrypi:~ $ sudo mopidyctl deps
Running “/usr/bin/mopidy --config /usr/share/mopidy/conf.d:/etc/mopidy/mopidy.conf deps” as user mopidy
Executable: /usr/bin/mopidy
Platform: Linux-4.9.41-v7±armv7l-with-debian-9.1
Python: CPython 2.7.13 from /usr/lib/python2.7
Mopidy: 2.1.0 from /usr/lib/python2.7/dist-packages
GStreamer: 1.10.4.0 from /usr/lib/python2.7/dist-packages/gi
Detailed information:
Python wrapper: python-gi 3.22.0
Relevant elements:
Found:
uridecodebin
souphttpsrc
appsrc
alsasink
osssink
oss4sink
pulsesink
id3demux
id3v2mux
lamemp3enc
mad
mpegaudioparse
mpg123audiodec
vorbisdec
vorbisenc
vorbisparse
oggdemux
oggmux
oggparse
flacdec
flacparse
shout2send
Not found:
flump3dec

While the non-service version has my extensions

pi@raspberrypi:~ $ mopidy deps
Executable: /usr/bin/mopidy
Platform: Linux-4.9.41-v7±armv7l-with-debian-9.1
Python: CPython 2.7.13 from /usr/lib/python2.7
Mopidy: 2.1.0 from /home/pi/.local/lib/python2.7/site-packages
requests>=2.0: 2.18.4 from /home/pi/.local/lib/python2.7/site-packages
urllib3<1.23,>=1.21.1: 1.22 from /home/pi/.local/lib/python2.7/site-packages
idna<2.7,>=2.5: 2.6 from /home/pi/.local/lib/python2.7/site-packages
chardet<3.1.0,>=3.0.2: 3.0.4 from /home/pi/.local/lib/python2.7/site-packages
certifi>=2017.4.17: 2017.7.27.1 from /home/pi/.local/lib/python2.7/site-packages
setuptools: 36.5.0 from /home/pi/.local/lib/python2.7/site-packages
tornado>=3.2: 4.5.2 from /home/pi/.local/lib/python2.7/site-packages
singledispatch: 3.4.0.3 from /home/pi/.local/lib/python2.7/site-packages
six: 1.11.0 from /home/pi/.local/lib/python2.7/site-packages
certifi: 2017.7.27.1 from /home/pi/.local/lib/python2.7/site-packages
backports-abc>=0.4: 0.5 from /home/pi/.local/lib/python2.7/site-packages
Pykka>=1.1: 1.2.1 from /home/pi/.local/lib/python2.7/site-packages
Mopidy-Mobile: 1.8.3 from /home/pi/.local/lib/python2.7/site-packages
Mopidy>=0.19: 2.1.0 from /home/pi/.local/lib/python2.7/site-packages
requests>=2.0: 2.18.4 from /home/pi/.local/lib/python2.7/site-packages
urllib3<1.23,>=1.21.1: 1.22 from /home/pi/.local/lib/python2.7/site-packages
idna<2.7,>=2.5: 2.6 from /home/pi/.local/lib/python2.7/site-packages
chardet<3.1.0,>=3.0.2: 3.0.4 from /home/pi/.local/lib/python2.7/site-packages
certifi>=2017.4.17: 2017.7.27.1 from /home/pi/.local/lib/python2.7/site-packages
setuptools: 36.5.0 from /home/pi/.local/lib/python2.7/site-packages
tornado>=3.2: 4.5.2 from /home/pi/.local/lib/python2.7/site-packages
singledispatch: 3.4.0.3 from /home/pi/.local/lib/python2.7/site-packages
six: 1.11.0 from /home/pi/.local/lib/python2.7/site-packages
certifi: 2017.7.27.1 from /home/pi/.local/lib/python2.7/site-packages
backports-abc>=0.4: 0.5 from /home/pi/.local/lib/python2.7/site-packages
Pykka>=1.1: 1.2.1 from /home/pi/.local/lib/python2.7/site-packages
setuptools: 36.5.0 from /home/pi/.local/lib/python2.7/site-packages
Mopidy-Simple-Webclient: 0.1.1 from /home/pi/.local/lib/python2.7/site-packages
setuptools: 36.5.0 from /home/pi/.local/lib/python2.7/site-packages
Mopidy>=0.19.4: 2.1.0 from /home/pi/.local/lib/python2.7/site-packages
requests>=2.0: 2.18.4 from /home/pi/.local/lib/python2.7/site-packages
urllib3<1.23,>=1.21.1: 1.22 from /home/pi/.local/lib/python2.7/site-packages
idna<2.7,>=2.5: 2.6 from /home/pi/.local/lib/python2.7/site-packages
chardet<3.1.0,>=3.0.2: 3.0.4 from /home/pi/.local/lib/python2.7/site-packages
certifi>=2017.4.17: 2017.7.27.1 from /home/pi/.local/lib/python2.7/site-packages
setuptools: 36.5.0 from /home/pi/.local/lib/python2.7/site-packages
tornado>=3.2: 4.5.2 from /home/pi/.local/lib/python2.7/site-packages
singledispatch: 3.4.0.3 from /home/pi/.local/lib/python2.7/site-packages
six: 1.11.0 from /home/pi/.local/lib/python2.7/site-packages
certifi: 2017.7.27.1 from /home/pi/.local/lib/python2.7/site-packages
backports-abc>=0.4: 0.5 from /home/pi/.local/lib/python2.7/site-packages
Pykka>=1.1: 1.2.1 from /home/pi/.local/lib/python2.7/site-packages
GStreamer: 1.10.4.0 from /usr/lib/python2.7/dist-packages/gi
Detailed information:
Python wrapper: python-gi 3.22.0
Relevant elements:
Found:
uridecodebin
souphttpsrc
appsrc
alsasink
osssink
oss4sink
pulsesink
id3demux
id3v2mux
lamemp3enc
mad
mpegaudioparse
mpg123audiodec
vorbisdec
vorbisenc
vorbisparse
oggdemux
oggmux
oggparse
flacdec
flacparse
shout2send
Not found:
flump3dec

My config (my .conf definitely has the enables for the extensions manually added)

pi@raspberrypi:~ $ sudo mopidyctl config
Running “/usr/bin/mopidy --config /usr/share/mopidy/conf.d:/etc/mopidy/mopidy.conf config” as user mopidy
[core]
cache_dir = /var/cache/mopidy
config_dir = /etc/mopidy
data_dir = /var/lib/mopidy
max_tracklist_length = 10000
restore_state = true

[logging]
color = true
console_format = %(levelname)-8s %(message)s
debug_format = %(levelname)-8s %(asctime)s [%(process)d:%(threadName)s] %(name)s\n %(message)s
debug_file = /var/log/mopidy/mopidy-debug.log
config_file = /etc/mopidy/logging.conf

[audio]
mixer = software
mixer_volume =
output = autoaudiosink
buffer_time =

[proxy]
scheme =
hostname =
port =
username =
password =

[mpd]
enabled = true
hostname = 192.168.0.234
port = 6601
password =
max_connections = 20
connection_timeout = 60
zeroconf = Mopidy MPD server on $hostname
command_blacklist =
listall
listallinfo
default_playlist_scheme = m3u

[http]
enabled = true
hostname = 192.168.0.234
port = 6680
static_dir =
zeroconf = Mopidy HTTP server on $hostname

[stream]
enabled = true
protocols =
http
https
mms
rtmp
rtmps
rtsp
metadata_blacklist =
timeout = 5000

[m3u]
enabled = true
base_dir =
default_encoding = latin-1
default_extension = .m3u8
playlists_dir = /var/lib/mopidy/playlists

[softwaremixer]
enabled = true

[file]
enabled = true
media_dirs =
$XDG_MUSIC_DIR|Music
~/|Home
excluded_file_extensions =
.jpg
.jpeg
show_dotfiles = false
follow_symlinks = false
metadata_timeout = 1000

[local]
enabled = true
library = json
media_dir = /home/pi/Public
scan_timeout = 1000
scan_flush_threshold = 100
scan_follow_symlinks = false
excluded_file_extensions =
.directory
.html
.jpeg
.jpg
.log
.nfo
.png
.txt

I’m sure I’m doing something very silly here but can’t figure out what it is! Thanks for the help.

The paths of your extension are in your pi user’s home directory so it looks like pip has put them in a place that the service will not find. If memory serves, that is only achieved by explicitly passing a specific option to pip, it’s not the default behaviour.

As mentioned by kingosticks, extensions are loaded in user folder.
I just installed the extension with user “mopidy”, as service runs with it.
I tested only local-images extension, and than when checking config, it works:

sudo -u mopidy pip install Mopidy-Local-Images

1 Like