Skip to content
Upgrade and Recovery

Upgrade and Recovery

Use the release package to upgrade, restore, or uninstall Engine. Keep an independent backup outside the server.

Upgrade

From the Panel

Sign in to the Master as the Full Administrator and open Settings > Software Update. Engine checks the download server hourly and shows a notification when a newer release is available. Use Check for Updates to refresh the list; checks are shared and limited to once per minute.

Engine 1.0.2+

Select a release, read its changelog, accept the terms, and choose Install Selected Release. Only the Master downloads and runs the package. The Panel disconnects during restart. After startup, the Master synchronizes program files to the other servers. Check Servers for their progress and verify playback.

Version to install includes the current version when its package is still available. Select it to reinstall without enabling Force Downgrade. Release notes shows the selected version’s changelog. Choose View All Changelogs to open a dialog with all Engine releases currently listed by the download server, newest first.

Engine 1.0.3+

The version list marks the installed version as Current. Newer versions and new builds of the installed version have a green New badge. Older versions have a gray Downgrade badge. Engine can detect a new build only when both the running program and the release package include build IDs. Older installations without a build ID can still be reinstalled manually.

Engine 1.0.5+

Updates require the standard root installation at /opt/xaccel-engine, systemd, and HTTP access to ftp.xaccel-codec.com. Failed release checks leave the last list visible but prevent installation until a check succeeds. Keep an independent backup outside the server.

Enable Force Downgrade to include older releases with the same major version as the running Master. Lower major versions cannot be selected. Before a downgrade, Engine also saves a database backup using the current binary. Older releases may lack this update page or its status API; use Open Panel after they restart and check the installation logs on the Master. Downgrades keep the newer database structure, so compatibility is not guaranteed.

Choose View Installation Logs, between Check for Updates and Install Selected Release, to read saved logs at any time. The dialog shows the last 256 KiB of storage/update/update.log and /var/log/xaccel-engine-installer.log. Use its download buttons to save either complete log. A log may not exist if installation has not reached that stage; if the installer never started, its log may show an earlier attempt. Only the Full Administrator can access these logs, and the Master must be running.

Each log shows when it was created and how long ago that was. Older logs without a creation timestamp show their last update time instead. Logs refresh while the dialog is open.

Engine 1.0.3+

Successful installation shows a completion dialog and closes the live output. The page does not keep a separate success message or read logs automatically afterward; use View Installation Logs to read saved logs. Reopening the update page hides previous successful status and output. Running installations and failed attempts remain visible. Logs stay on the server. The installer attempts its normal rollback if installation fails. Do not start another installation while the update service is active.

Installation opens a small dialog over the update page. It follows the light or dark theme and shows a thin blue progress bar with the percentage and current step centered below it. Press Esc or click outside to close the dialog; use View Progress to reopen it. Progress is estimated from the download size and installation stages; it reaches 100% only after the Master installer finishes successfully. The progress dialog then closes and an Installation complete dialog confirms the result. A matching version number alone does not confirm completion, including when reinstalling the same version. Older release packages may not report individual installation stages. Installer output refreshes every three seconds while the page is visible. During the Master restart, the page keeps the last output and resumes updates when the connection returns.

Engine 1.0.3+

From the terminal

  1. Read the changelog and create a database backup:
/opt/xaccel-engine/bin/web --backup /root/xaccel-engine-before-upgrade.gz

The destination must end in .gz and must not already exist. This backup includes configuration, accounts, content metadata, and cumulative usage—not media files or temporary runtime history. Copy it off the server.

  1. Download and run the installer as root:
wget http://ftp.xaccel-codec.com/releases/xaccel-engine-1.0.5.sh
bash ./xaccel-engine-1.0.5.sh --install

The installer saves program files and a logical database backup before upgrading. It preserves verified HTTP and RTMP ports. If Engine is stopped, it warns that no database backup is included. Media storage and local MySQL data files are not copied by default.

Changed in Engine 1.0+

After Engine has run on version 1.0.1 or later, upgrades reuse its saved HTTP and RTMP ports even when the service is stopped or the host has restarted. Port conflicts are still checked. When upgrading from an older release, you may need to choose the existing ports manually if Engine is stopped.

Engine 1.0.1+

  1. Verify login, database access, Streams, Adapters, and playback before removing backups.

Downgrade

When installing a lower major version, such as 2.x to 1.x, the installer warns that the older version may not start or work correctly. Type yes in the terminal to continue. Press Enter to cancel. Without an interactive terminal, the downgrade is cancelled. --accept-terms does not skip this confirmation. Downgrades within the same major version do not require this extra confirmation.

Engine 1.0.1+

Confirmation allows the installation to proceed. Use an installer containing this check; previously released installers cannot provide it.

Database Compatibility

Upgrade the Master before LB servers. When the database version is older than the software, the Master applies pending changes in version order and records the software version after migration and schema checks succeed. It records the new version even when no migration is needed. Matching versions skip migrations, but the Master still checks and repairs the schema on each startup. New databases start at the current software version. This also applies when the Master uses external MySQL or restores an older backup. Its database account must be able to change the schema and managed LB account permissions.

Engine 1.0.1+

Engine does not block startup because the database was used by a newer version. If the major versions differ, it logs a warning and attempts to continue. Older software leaves the newer database structure and version unchanged. This does not guarantee that every feature will work; restore a matching backup if needed.

Changed in Engine 1.0.1+

If a migration fails, startup stops. Check the error, fix its cause, and restart the upgrading version to retry. Some changes may already have committed, so keep the backup until the upgrade is verified. The database version is managed by Engine and cannot be edited through System Settings or its API.

Backup Options

To also save managed local MySQL data files:

bash ./xaccel-engine-1.0.5.sh --install --backup-mysql-data

Only skip the automatic database backup if you already have an independent backup:

bash ./xaccel-engine-1.0.5.sh --install --skip-database-backup

Warning

Skipping the database backup prevents automatic rollback of database changes. Do not use it just to speed up an upgrade. It cannot be combined with --backup-mysql-data.

Recovery points are under /opt/.xaccel-engine-snapshots/<version>-<YYYYMMDDHHMMSS>/, using UTC. Keep each directory intact. It contains engine-files.tar.xz, available engine-database.gz, and xaccel-engine.service. A physical backup also includes data.tar.xz.

Each successful database export also saves a copy in /opt/xaccel-engine/storage/backup/. On the Master, it appears in Database Settings, where you can download or restore it. These copies remain when old recovery points or scheduled backups are removed. Delete them manually when no longer needed, and keep an off-server copy. If the export is skipped, no copy is created.

Engine 1.0.1+

New copies use xaccel-engine-installer-<version>-<timestamp>-<checksum>.gz and show Installer as their source. Older installer filenames remain supported.

Changed in Engine 1.0.2+

Failed Health Check

The installer saves error logs and offers rollback:

  • Y or Enter: restore the previous version.
  • N: keep the failed installation for diagnosis. The recovery point remains, and the command reports failure.
  • No interactive terminal: roll back automatically.

Restore a Recovery Point

bash ./xaccel-engine-1.0.5.sh --recovery

Select a recovery point, then choose:

Restore OptionEffect
Runtime files only (default)Restore program and configuration; leave the database unchanged.
Runtime files + saved MySQL dataRestore saved managed local MySQL data files.
Runtime files + saved MySQL backupImport the logical backup; supports external MySQL too.

Recovery first saves the current program and a logical database backup when available. Add --backup-mysql-data to also save current local MySQL data files. A physical restore preserves the replaced data directory.

Database restoration requires an explicit choice. Older software may not support data written by a newer version. Verify the service and database after restart.

Uninstall Program Files

bash ./xaccel-engine-1.0.5.sh --uninstall

Uninstall preserves persistent data. Keep an external backup before retiring a server.