# XenOrchestraInstallerUpdater: source installation on Linux

> XenOrchestraInstallerUpdater automates the documented, unsupported source installation of Xen Orchestra on selected Linux distributions. It suits home users and enthusiasts, while production operators should examine Vates' supported appliance instead.

**ronivay/XenOrchestraInstallerUpdater** — Xen Orchestra install/update script

- Repository: https://github.com/ronivay/XenOrchestraInstallerUpdater
- Stars: 1,523 · Forks: 218
- Language: Shell
- License: GPL-3.0
- Published: 2026-10-16 · Updated: 2026-10-16 · Language: en
- Canonical page: https://hysenlabs.com/projects/ronivay-xenorchestrainstallerupdater

## Why XenOrchestraInstallerUpdater exists for XCP-ng administrators

Xen Orchestra is a web interface for managing multiple XenServer or XCP-ng hosts and pools from one location. XenOrchestraInstallerUpdater addresses the gap between manually following Vates' source-build procedure and obtaining the officially supported Xen Orchestra appliance. It is intended for a home user or enthusiast with a relatively simple virtualization environment who does not want to justify the appliance cost or does not require the associated support.

The project is not a replacement turnkey appliance. Its README explicitly says that source-based Xen Orchestra usage is unsupported and intended for testing rather than production. The script simplifies dependency installation, source retrieval, compilation, and related setup work, but it does not change the support status of the resulting software. Issues involving the script itself belong in this repository, while Xen Orchestra product issues must be distinguished from defects in the automation.

The target host must be a dedicated VM or physical machine with at least 4 GB of RAM and approximately 1 GB of free disk space. The README says that 2 vCPUs are generally sufficient and that additional CPU can shorten builds. Only x86_64 is supported. For Raspberry Pi users, the project points to the maintainer's container image on Docker Hub instead.

## The source-build and VM-image paths in XenOrchestraInstallerUpdater

The repository separates two deployment paths through its top-level shell scripts. `xo-install.sh` is the main installer and updater for a supported Linux host. It installs operating system dependencies, fetches Xen Orchestra source from the official `vatesfr/xen-orchestra` repository, and compiles the application. `xo-vm-import.sh` is the separate script intended for a XenServer or XCP-ng host that imports a prepared VM image with Xen Orchestra already installed.

The main script offers installation, updating, rollback, and separate proxy operations. Update and rollback change how an existing deployment is maintained, while the proxy commands target the Xen Orchestra backup proxy. The README does not document the VM image format, import prerequisites, image lifecycle, or a complete rollback procedure. Those points must be verified in the repository wiki or script implementation before relying on those workflows.

Configuration lives in `xo-install.cfg`, created from `sample.xo-install.cfg`. The README identifies configuration entries for disabling operating system and architecture checks, but it does not document the underlying detection logic in detail. It also documents `INSTALL_EL_LIBVHDI` for an optional RHEL-family package. This is automation around the documented source installation, not a separate distribution format for Xen Orchestra.

## Preparing xo-install.cfg on a supported Linux host

Clone the repository onto the machine that will run Xen Orchestra, then create `xo-install.cfg` by copying `sample.xo-install.cfg` as the README instructs. The README does not give the literal copy command, so it should be performed manually rather than replaced with an invented shell example.

Before installation, compare the host with the documented support matrix. The listed releases are CentOS Stream 10 and 9, AlmaLinux 10, 9, and 8, Rocky Linux 10, 9, and 8, Debian 13, 12, and 11, and Ubuntu 26.04, 24.04, and 22.04. All are x86_64 only. The README recommends a fresh operating system installation dedicated to Xen Orchestra because the installer adds dependencies and application configuration.

On RHEL-based systems, review the delta-backup restore setting before proceeding. By default, `libvhdi-tools` is not installed there, so file-level restores from delta backups will not work in Xen Orchestra. The project provides a user-maintained package path behind `INSTALL_EL_LIBVHDI`, but adding it is an explicit configuration choice rather than part of the default installation.

The repository wiki is the documented source for common configuration options. Since the README does not enumerate those options, operators should not infer default values or unsupported switches from the installer summary alone.

## Running the first XenOrchestraInstallerUpdater installation

After reviewing `xo-install.cfg`, run the main script with root privileges. This first use follows the README's `Install` workflow, which installs dependencies, configuration, and Xen Orchestra itself.

```bash
sudo ./xo-install.sh
```

The script should follow the package installation and source-build procedure documented by Xen Orchestra. Because the README does not state expected console output or a completion marker, verify the resulting installation through the service and interface appropriate to the selected configuration rather than relying on an invented success message.

Afterward, the same script provides noninteractive operation. These forms correspond to the documented `Install`, `Update`, and `Rollback` operations, with optional proxy handling for install and update:

```bash
sudo ./xo-install.sh --install [--proxy]
sudo ./xo-install.sh --update [--proxy] [--force]
sudo ./xo-install.sh --rollback
```

The square brackets in these lines indicate optional arguments as published in the README. They are documentation notation, not literal shell input. For an ordinary installation, use `--install`; omit `--proxy` unless the backup proxy is intended. The README does not explain the selection criteria or behavior of `--force`, so it should not be used merely because an update reports a problem.

## RHEL package coverage and delta-backup restore constraints

The dependency list is distribution-aware, but it does not make every feature equally available by default. On RHEL-based systems, `libvhdi-tools` is omitted by default. The direct consequence is that file-level restores from delta backups performed through Xen Orchestra will not work. This is a functional limitation, not merely an optional package preference.

The project identifies a third-party package maintained by a user specifically for XenOrchestraInstallerUpdater. Setting `INSTALL_EL_LIBVHDI` to `"true"` in `xo-install.cfg` enables that path and is intended to restore file-level restore capability. The README links a specific pull request for this feature. It does not claim that this makes the broader Xen Orchestra deployment supported or endorsed by Vates.

The dependency list also varies by operating system family. It names `rpm` packages for RHEL-oriented systems, while other operating systems require different package handling that is not listed in the README excerpt. Build tools, `git`, `curl`, `nodejs`, `npm`, `yarn`, `python3`, and an Redis-compatible service are among the listed dependencies, with Valkey used when the operating system version is at least 10. Exact package names and versions should therefore come from `xo-install.sh`, not from assumptions based on another Linux distribution.

## Unsupported source deployment versus the official Xen Orchestra appliance

The closest supported alternative described by the project is the official Xen Orchestra turnkey appliance from Vates. That product is presented as the preferred and only supported way to use Xen Orchestra as an appliance. It passes Vates' QA process and is available in free and paid models with different capabilities and support terms.

XenOrchestraInstallerUpdater takes a different approach. It installs dependencies, obtains source from the official Xen Orchestra repository, compiles the code, and performs setup that the official source documentation otherwise requires the administrator to handle. This can make the source build more accessible, but the README says that the procedure is for testing and not production. The script itself is also not supported or endorsed by Xen Orchestra.

For Docker-oriented deployment, the README points to `ronivay/xen-orchestra` on Docker Hub rather than treating this installer as a container workflow. This is relevant to Raspberry Pi users because the script supports x86_64 only. The README does not describe the container image's contents, persistence model, upgrade process, or support status, so those details require separate documentation.

## Maintenance, upgrades, licensing, and repository boundaries

The repository is not archived, and its last push was on 2026-10-07. It has no GitHub releases, so there is no published release number or tagged release package identified in the repository information. Maintenance therefore has to be judged from repository activity and current documentation rather than a release cadence. Distribution upgrades may also require changes because the README maintains an explicit list of supported Linux releases.

The update workflow is intended to move an existing installation to the newest available version, and the README provides `--update`, optional `--proxy` handling, and `--force`. It does not describe rollback state management, backup retention, migration between major releases, or recovery from a failed update. The presence of a `Rollback` option confirms that rollback is a project concept, but the README does not establish its operational guarantees.

The repository is licensed under `GPL-3.0`. That identifies the licensing basis for the installer and updater repository. It does not, by itself, define the licensing terms of every Xen Orchestra dependency or determine whether a particular deployment complies with other agreements. Users need to inspect the applicable repository and package licenses separately rather than treating the top-level `GPL-3.0` label as a complete compliance answer.

## Conclusion

Home users and enthusiasts with a supported x86_64 Linux system can adopt this script when an unsupported source installation is acceptable and at least 4 GB of RAM and roughly 1 GB of free disk space are available. Operators who need QA coverage, vendor support, or a supported production deployment should use the official Xen Orchestra appliance. Before adoption, verify that the chosen distribution and version are listed, review `sample.xo-install.cfg`, and confirm whether RHEL-based file-level restore requires `INSTALL_EL_LIBVHDI="true"`.

## FAQ

### Which Linux distributions and CPU architectures support XenOrchestraInstallerUpdater?

The documented matrix covers selected CentOS Stream, AlmaLinux, Rocky Linux, Debian, and Ubuntu releases on x86_64 only. Raspberry Pi users are directed to the maintainer's container image instead.

### Can XenOrchestraInstallerUpdater be used for a production Xen Orchestra deployment?

No. The README says that the source-based procedure is unsupported and intended for testing rather than production. It recommends the official Vates appliance for production use.

### Why do file-level restores from delta backups fail on RHEL-based distributions by default?

The default configuration omits `libvhdi-tools` on RHEL-based distributions. Setting `INSTALL_EL_LIBVHDI` to `"true"` in `xo-install.cfg` enables the project's third-party package path for restoring that capability.

## Sources

- [Issues](https://github.com/ronivay/XenOrchestraInstallerUpdater/issues)
- [License: GPL-3.0](https://github.com/ronivay/XenOrchestraInstallerUpdater/blob/master/LICENSE)
- [README](https://github.com/ronivay/XenOrchestraInstallerUpdater/blob/master/README.md)
- [ronivay/XenOrchestraInstallerUpdater on GitHub](https://github.com/ronivay/XenOrchestraInstallerUpdater)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/ronivay-xenorchestrainstallerupdater
