Best plan for migration to new server

ObAnggen school will move to new server hardware and would like advice for Kolibri migration.

Current Kolibri info


The current server is in Indonesia and I am building new server in USA. I have the most recent backup of Kolibri database (500Mb) and copy of all exported content from the current server.

New server info


My plan is to:

  1. replace database in new server with database from current server
  2. import all content (from backup/export) to new server
  3. use Kolibri Studio online to upgrade content (Khan,etc) and add new content

My questions are

  • What is correct procedure for moving database from a dbbackup command to a different (new) server?
  • Is there any problem with moving database from older version of Kolibri to newer version of Kolibri?
  • I am considering using server version of Kolibri, will this cause any issues by using database from non-server version of Kolibri?
  • The age of content in current server is about 3 years old. I have experienced some content retrieval errors when using an existing database with new content. So that is the reason I plan to import old content first to new server and then upgrade content - Is this correct process to hopefully avoid any content-database conflicts?

The current server uses one disk and Kolibri content is in default directory. In the new server, after current database is imported, will using the "kolibri manage content movedirectory " command on new server cause any issues?

Hi David,
These are some good questions! I think I have some answers, but first I’d like to understand better your motivation for doing things this way.

For clarification, do you mean that you’ve already attempted to upgrade your old Kolibri installation to 0.14, but have experienced issues? Or do you mean that you experienced these kinds of issues in the past when upgrading to an older version?

If I’m understanding correctly, part of your motivation for doing things this way that you want to store the content on a different drive, is that right? I noticed that on the new server, there are only 12 GB of disk space available.

The most straightforward way of migrating the old Kolibri data and content to the new server would be to simply copy over the entire KOLIBRI_HOME directory, which in your case is located at /home/kolibri/.kolibri, and start Kolibri 0.14.

By default, Kolibri will treat the directory at ~/.kolibri as its home directory, but you can tell it to look somewhere else by setting the KOLIBRI_HOME environment variable. There is some more information about this here.

However, if this is complicated by the fact that your new server has less disk space, you might try something a little more complex:

  1. Make sure that Kolibri is stopped on both the old and new servers, and remember to backup important content.

  2. On the old server, use kolibri manage content movedirectory to move the content out of the old server’s KOLIBRI_HOME directory.

  3. Copy the KOLIBRI_HOME directory from the old server to the default KOLIBRI_HOME location on the new server, /home/kolibri/.kolibri

  4. Copy the content to the new server’s content location.

  5. On the new server, open the file /home/kolibri/.kolibri/options.ini in a text editor, and scroll down until you see a line with a variable called CONTENT_DIR, which should be set to the content path you’d specified in step #1. Change it to point to the path of the content on the new server. So for example, if the line was:

    CONTENT_DIR = /old/server/path/to/content/,

    you might change it to be:

    CONTENT_DIR = /new/server/path/to/content/

    In general, you can change where Kolibri looks for its content by setting that variable in the options.ini file (always making sure to stop Kolibri first, of course).

  6. Start Kolibri on the new server. If all goes well, Kolibri should automatically migrate the database to 0.14, and it should have access to the content at the location you specified.

Well, as far as I know this could potentially work just fine. However, as mentioned at the bottom of this section, the dbbackup and dbrestore commands aren’t really intended to be used this way, to backup and restore databases across replicas. Using them for this purpose might cause unintended stuff to happen.

Let me know how it goes, and feel free to reach out if you have any other questions.


Hello @micah

Thank you for the reply. I am sorry for not explaining better and causing confusion.

I also apologize for not reading the newer documentation and familiarizing myself with a feature like importing a facility during initial setup of fresh install.

The question about different versions of Kolibri is a mute issue because after second thought, there is no reason not to upgrade the old server. No, we have not had issues with upgrade, just not done it as of yet.

My motivation for wanting to move the content to different location was to be able to backup the new Kolibri VM and not backup the content. But this too is a mute issue because the main concern is that the old server has a lot of student and teacher work in the database and want to make the transition to new server seamless as possible. So transferring the database is most important.

I am in the process of simulating the migration between servers here in the lab first and hope to have a good plan of action. I will let you know if I get stuck or have more questions.

Thank you for your help.


No need to apologize! Your question helped to illuminate some ways the documentation could be clearer. It’s quite helpful for us to understand your situation and needs so that we can make improvements.

I’ll be curious to hear how it goes and what ends up working for you, as I plan on contributing some documentation related to this.