Hi ! I discovered Xen from lawrencesystems’s videos and was excited to try it on my mini PCs, but I was sad to find out the docker build does not work on ARM since I want to control my workers from a Raspberry PI.
After 2 days of tinkering I have a working build that you can find here:
If anyone is interested to try it out or provide feedback.
If you know any optimizations I could do to make the final image smaller let me know.
I should get rid of yarn cache folder but I get a runtime error after the container starts.
The main tinkering I did is to replace fuse-shared-library-linux and fuse-native dependencies with arm compatible npm packages, install napi-macros, and switched to a newer ubuntu base image.
I also did test this on a Hetzner cloud ARM-based vps and it works well.
I haven’t tested my RPI with XO in a while, it might have been two+ years ago now that you mention it.
Since this is a container, I wonder if it is of use to build it for KASMworkspaces as well as RPI?
That said, I still recommend that most users have at the very least an XO from sources on a standalone device, for initial setup or “everything’s broke” conditions, and a PI sitting around does the job. I have mine running on an old HP T630 which might be slower than a Pi4 or Pi5.
Can you run it through a virtual machine? But yes, on ARM might be a big thing for not just XO but for XCP-NG. Most things I’m seeing is that compute per watt is better on ARM, reducing power and cooling costs is always a nice direction to go.
I’ve been un-successful in attempting to build from source on a Debian VM. Can’t seem to install an AMD version of Debian on Apple Silicon. I was hoping it would emulate and allow AMD version. Might be a Parallels issue? I haven’t attempted VMWare under MacOS. But with Debian ARM I’m seeing [fail] Installation support only x86_64 when attempting to run the xo-install.sh script.
Mostly because much of my current installation is still in the building and design phases. I run a hybrid home lab / production environment . My ultimate goal is to build several VMs that address legacy issues (building old operating systems in order to retain access to older 3d and CAD applications). Goal is to host most of the VMs on an adjacent TrueNAS box. I do have an installation of XenOrch on the internal drive of the master. My guess is this is where it will ultimately live. But while I’m still testing and designing the system I like having the XenOrchestra on a free standing platform. It has allowed me to nuke and repave the XCP box a couple times when I’ve been testing and migrating hardware from the master. All first world problems.
Are you running truenas scale? If so you can deploy the docker version of Xen Orchestra as an app on there. The container is maintained by the same guy that created the script.
Great ideas. TrueNAS box is also in the same state of design/building…
Tried ronivay version on Apple Silicon version of Docker. It results in: Unable to pull ronivay/xen-orchestra:latest no matching manifest for linux/arm64/v8 in the manifest list entires.
This is where I kinda was a couple weeks ago and thru in the towel and installed Debian on an old Intel machine then built Xen-Orch from source on that machine. Which works. But would be so much nicer to run Xen-Orch on a low power MacMini or laptop. I do appreciate the thought and input.
I’ll just agree that having XO on “external” hardware is a benefit for those situations where you want/need to tear it all down.
You may need to buy an old thin client like an HP t630 or better and run debian and XO on it, price is cheaper than a Pi 4 right now and known working without jumping through hoops (debian 11 with ronivay script). Just note that you really should have more than the standard 16gb of storage, you can do it, but it’s tight. Needs at least 4gb of ram. Ebay is showing them at $40 to $50 each, which seems a lot for these. Mine has been running for around 4 years now and the only change I made was to swap the SSD for something larger because I was tired of running out of space before an XO update.
A t740 would be better, but more money. You could host a bunch of stuff on a t740, just be aware that this is a BSD bug with this hardware and the keyboard. There is a workaround.