Setup environment for plugin development

Hello together,

I want to write my own plugin for Volumio 2 but I am struggling since my plugin crashs the web UI. After installing it and calling the configuration page I only see the loading indicator. After refreshing the page in my browser it is not reachable anymore. Any SSH connection is still usable. So I have tried to restart the mpd daemon but without success. The system log has no entries either.

I use the Spotify plugin as template.

Are there any instruction how I can setup an development environment?

Thank you. :slight_smile:



see at … nment.html

But if you have questions, or you see that something is missing… let us know

In order to better troubleshoot your plugin, launch

sudo journalctl -f 

so you’ll see where it fails


great thanks. I will try in the evening. I totally missed that section in the docu. I am sorry.

Is there any way to publish a plugin so that the people can download a custom plugin directly in the plugin configuration of Volumio2 like you can install the Spotify plugin?



You can load a plugin directly from hard disk etc. on PC/whatever which is hosting the browser running the Volumio UI.

Sure, once you’ve done it, send a pull request to the volumio-plugins repository.
There are 2 branches

master : where we have the sources
development: where we host the packages and the json files that populate the plugin repo.

Once you do the PR I’ll verify and merge.
If you have other questions just ask!

Alright. Thank you. :slight_smile:

I forked the plugin repo and will try to develop an amazon music plugin (like the one for kodi).

One last question: can you please tell me where Volumio stores the information about which plugins are installed?

I tried to delete my plugin folder from /data/plugins and wanted to reinstall it but then the installation failed because the plugin was already installed which wasn’t the case. Anyway the system copied the new files to /data/plugin/…

Because the web UI didnt work anymore I couldnt uninstall it from the web UI.