Mopidy Discourse

Where does Iris save its settings(Where are extensions settings stored)?

I am using Mopidy in a docker container, specifically the Iris project docker environment with docker-compose. Sometimes it is required that I change the docker-compose.yml file which of course recreates the container and I lose all of the Iris settings like Dark Mode, Genius login, etc.

I tried setting the data_dir in mopidy.conf but that did nothing.

[iris]
enabled = true
data_dir = /data/iris

I have the entire /var/lib/mopidy directory mounted, but still these settings are not saved. I am at a loss as to where Iris would save these settings. They must be somewhere.

Any help would be appreciated.

This is what I’m using. I think the Iris bit works, but I haven’t rebuilt it in a while, so I can’t remember exactly.

mopidy.conf

[iris]
data_dir = /root/.local/share/mopidy/iris

Dockerfile

VOLUME ["/root/.cache/mopidy", "/root/.local/share/mopidy"]

Have a look at the whole thing here: GitHub - jjok/my-mopidy-setup: Docker configurations to build my Mopidy setup

Thank you but this does not work. When the container is rebuilt all Iris settings are lost. This is infuriating because these settings must be stored somewhere and I have mounted almost the entire file system. Crazy. Apparently they are stored in magic dust.

Each extension settings are stored in mopidy data_dir dir, e.g for me this is /var/lib/mopidy

[core]
cache_dir = /var/cache/mopidy
config_dir = /etc/mopidy
data_dir = /var/lib/mopidy
...

To get your effective configuration, see Configuration — Mopidy 3.1.1-1-gf17acacf documentation (depending on your install).

If Iris settings are not stored there, then I think you should search the iris issue tracker: Issues · jaedb/Iris · GitHub , and if nothing is found, ask there directly.

What I would do before that though (especially with a custom install with mounted docker volumes) is to check that mopidy indeed can write the data_dir directory (I think there will be some specific errors in the log file if that is the case, and you can also double check folders permissions).

Iris, by default uses:

data_dir = $XDG_DATA_DIR/iris

On a fresh install, this would usually resolve to /var/lib/mopidy/iris, but you can set this explicitly in your mopidy.conf file with something like:

[iris]
enabled = true
data_dir = /users/Bob/my_iris_data

Iris (and therefore Mopidy) will need permission to write to this location. If you are using Docker, then you will need to make sure your data_dir is mounted to an external volume. Check out the sample docker-compose.yaml for reference.