Migrating from Openfire to Prosody

Because Openfire has been hogging too much of my limited el-tramo.be server resources lately, and because I don’t need a beast of an XMPP server for only 2 users, I decided to replace it by the lightweight Prosody. The migration went flawless, with the help of two tools: Sleek Migrate, and a Prosody XEP-0227 Importer.

First of all, I used Sleek Migrate to retrieve the roster (and other) data from the server, and store it in the standard XEP-0227 format. I extended the tool a bit such that it supports Openfire’s User Import/Export format, a format generated by an Openfire plugin that is distributed with the server software by default. Using this format as input for Sleek Migrate avoids the need to create a user file manually. The changes I made to Sleek Migrate have been integrated in the main repository.

I then wrote a short script that populates the Prosody data dir with the server data from the XEP-0227 XML file. Currently, the script only generates roster and account data, but adding vCard and Private XML Storage (used amongst others to store MUC bookmarks) should not be very hard. Until Prosody creates a native XEP-0227 importer, you can get the script from my Git repository.

Update: Prosody now comes with its own xep227toprosody.lua conversion script, which should obsolete mine.

Published by

Remko Tronçon

Software Engineer · Hobby musician · BookWidgets