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?

I stumbled upon this while researching running Volumio in a LXD container and this is exactly what I was looking for! I’m curious to see if you ever found a solution to your issue. Also, do you happen to know how large the final LXD container size was?

hi Yutong,
Per this thread, I did not receive any real help from Volumio.
My aim at the time was to run Volumio as a container. Using either a NAS or a mini PC as host. Since no valuable help, I moved on to other solutions, although I really loved Volumio, and used it on a NIC for several years.
Unfortunately all that work has gone to dust-bin…

I see. Sorry to hear that. What did you end up going with for your final solution if I might ask?

Well… to be honest I did not make any further steps… In the mean time I moved, and I did not have the time to do a full setup of my audio-listening room.
Damn! my beloved Apogee Diva were damaged in the transport. Lesson learned: when you move, do move yourself high quality speakers!.
As of now, I access my NAS through smart-TV, use the SP-DIF output to DAC, and link it to monitor Prodipe Ribbon-8.
Sound is OK-ish, until I’ll have time to DYI install the new ribbons on Divas.
Anyway, any media/audio software that can do a DAC (or at least SP-DIF).
Volumio was a wonderful piece of software, and still is. But it’s aging… And with current hardware, if they don’t provide means of running it as an app or in a container… I’ll skip to other offerings.

Hi @simplemarius . Back in 2020 running Volumio on docker or any other container was not on our priority list since Volumio is designed to run as an OS rather than an application. Part of this is due to the hardware limitations of the devices it runs onto.

Fast forward to 2024 and the devices are now way more powerful and we start to see some interest in using it as a standalone app.
If you feel like it, we are keen to explore the possibility and offer support to this use case. Get in touch if you would like to resume this exploration