Home Download FAQ / Knowledge Base Screenshots Documentation Support

How do I move my Citadel installation to another machine?

It is likely that your Citadel installation will outlive the hardware on which it runs. We have made several options available for migrating Citadel to new hardware.

Citadel stores its data in a binary, architecture-specific format. As a result, you can only make a direct copy of the binary files in the byte order and byte alignment are identical on the old and new hardware. So, for example, if you are moving from ARM to x86, or from 32-bit x86 to 64-bit x86, this is not possible with a direct copy. For these cases we have made a migration tool available.

The source (old) system should be running the same version of Citadel as the target (new) system. You cannot migrate and upgrade Citadel in a single operation. If the source system is running an older version than the target system, you must first upgrade the source system before you can migrate it.

Then log in to the console of the target system as root or root equivalent, and run the "ctdlmigrate" utility. You will be prompted for the host name or IP address of the source system, as well as the username and password of a host system account that has access to all Citadel files (once again it's easiest to just go with root or a root equivalent for this).

Then just sit back and watch it run. First, the Citadel databases will be exported to an XML format, downloaded across the wire, and imported into the target system. Afterwards, non architecture dependent files such as user photos and profiles, room info files, etc. will be copied over using rsync.

After the migration utility completes its work, simply shut down the source system, restart Citadel services on the target system, and you're up and running. You may wish to double check the configuration on the target system in case things like host IP address have changed.

There are no social media links here. Enjoy a friendly Citadel community instead. Or go outside.