Volumio in Docker? Why not LXD!

I do not own a Raspberry. But I have a spare Lenovo Q180 sitting around. Some time ago I installed Volumio on it - I was very pleased. But why use a (almost!) computer just for Volumio? There are two obvious options:

  1. install alongside Volumio. Hm, you are limited to debian 8, 32 bit
  2. install Volumio as docker on whatever 64 bit linux host

I read about running Volumio in a docker. At some point I even started one as a docker. But… limited to whatever audio device (or even none!), and network limitations, etc.

Why not LXD?
It has a smaller footprint then docker.
Starts faster.
Can inherit (somewhat) easily hardware (aka /dev/snd, ethX) from host.

So I began reading. Started from Volumio’s build.sh. Then about LXD in general. Then I cam accross lxd-p2c - the tool that converts a phisical (or VM) machine into a LXC container.

A bit of work, and I now have a working Volumio. As of now, it is not running on the dedicated hardware (see above), but on my desktop. Will be migrated soon…

What I miss: the volumio-remote-updater does not work. Any help on how to trace the entire update process in order to solve this would be highly appreciated.
(in the mean time I will prepare a detailed How-To for those interested)

Very interesting approach! Can you contact me at michelangelo at volumio dot org ?

bumped into this post as well now, as the x86 version developer I will have a look. I’m sure we can solve the updater issue.

Can you at least give a description of the updater process? How can I fine/verbose trace this? Is there a way to have the code for the updater?

Sorry, the updater code is not public.
Could you give a more detailed error description instead of “the volumio-remote-updater does not work”?
And tell us which x86 version you installed and are trying to update?

“Sorry, the updater code is not public.”
hmm… according to Volumio home page “Free and Open Source Forever” - but I do not want to debate this.

As stated in my initial post I tried to run Volumio as an LXD container on a linux box having LXD installed.

  1. installed Volumio in VirtualBox by converting the Volumio image to a VMDK disk.
  2. in LXD I created a build environment for lxd-p2c based on debian 8 32 bit
  3. installed all dependencies and successfully compiled lxd-p2c binary
  4. copied lxd-p2c to the Volumio VM
  5. run lxd-p2c, thus creating an LXD container. Of course I needed to use a specific LXD profile (closed source???)
    At this point I could run the LXD Volumio container. Could see the GUI, configure music sources and network. Everything looks fine.
    Except for the updater. Looking in journal I see lines like the below (not all log, not entire log lines):
    volumio-remote-updater[276]: PROGRESS: 0, STATUS: “Starting update”, ETA: “6m”
    volumio-remote-updater[276]: PROGRESS: 10, STATUS: “Creating backup”, ETA: “5m”
    volumio-remote-updater[276]: PROGRESS: 30, STATUS: “Downloading new update”, ETA: “4m”
    volumio-remote-updater[276]: zsync done
    volumio-remote-updater[276]: /bin/cp: cannot stat ‘/data/volumio_factory.sqsh’: No such file or directory
    volumio-remote-updater[276]: /bin/rm: cannot remove ‘/data/volumio_factory.sqsh’: No such file or directory
    volumio-remote-updater[276]: PROGRESS: 95, STATUS: “Finalizing update”, ETA: "30s
    volumio-remote-updater[276]: PROGRESS: 100, STATUS: “success”, MESSAGE: “Successfully updated to “2.779” version. System restart required.”

you need to do a volumio log from the /dev page, it may give more info. And which version did you start from?