Nextcloud AIO migration?

Hey
Currently thinking of migrating our bare metal Nextcloud to a nextcloud AIO instance since it seems like that would safe quite some time with things such as office backend and make administration overall easier.
two questions:

  • Is it worth it? Anyone got experience with it? Does it work as well as I imagine?
  • Is there anything special I should consider when migrating? Can I copy the nextcloud dir as usual?

There is this documentattion: all-in-one/migration.md at main · nextcloud/all-in-one · GitHub

2 Likes

damn nextcloud documentation is so extensive (compared to other open source projects). Thankss

Let me first say big thank you to everyone who contributed to making the migration to AIO possible (and even in a few ways) amazing effort! :raised_hands::tada:

I just spent quite some time :sweat_smile: migrating from ‘bare metal’ to AIO and would like to share a few sentences on my experience.

Setup

After setting up the host machine but before running Docker, one might need to increase the buffer as described in this issue.
In my case echo "net.core.rmem_max = 2500000" | sudo tee /etc/sysctl.d/nextcloud-aio-buffer-increase.conf did the job.
Otherwise running Docker according to the documentation to get AIO wizard up was a breeze (I used env NEXTCLOUD_DATADIR for storing data on host).

OK, let’s look at the migration itself
I needed to migrate data from a few apps so option one (Migrate only the files) was not sufficient. Unfortunately I struggled to convert my MariaDB to Postgres and successfully import the dump. Because I had only a few users on the instance to be migrated, I decided to test user_migration app path. This allowed me to quickly export & import Files, Calendar (+Tasks), Contacts, Forms and Cospend (the only app data not covered was Deck, a few words about it later):
sudo -u www-data php occ user:export username

When importing users into main Docker container:
docker exec --user www-data -it nextcloud-aio-nextcloud php occ user:import /mnt/ncdata/user_data/user.nextcloud_export I found that the zip version issue still persists. If you encounter import error make sure file /mnt/ncdata/user_data/user.nextcloud_export outputs Zip archive data, at least v1.0 to extract (if it’s v4.5 you might need to re-zip).

user:import is magic, the user alongside their app data is imported onto the AIO instance, you just need to reset their password. If you also wanted to migrate Deck data, it is possible to export a .json file of the board, particularly if you are mindful of some little quirks. However, I was not able to find a way to import the file back onto the new instance. Thankfully, community has got you covered with a python solution in the meantime! This script uses Deck API and it works great (I just needed to add a condition for comparing boards’ titles to avoid duplicates).

First impressions
AIO is amazing, it really makes a difference, for instance Nextcloud Office is a great incorporated module, Borg backup is neat as well. It’s liberating not to have to coordinate many services (web server, CRON etc.). And it’s all robust! Now, after years of running a basic instance, I can actually imagine extending the usage of Nextcloud and inviting more people to collaborate!

There are some performance challenges to do with Imaginary causing timeouts. However, ClamAV takes the jewel since it was continuously crashing my host machine, mainly throwing the daemon error. I was unable to resolve the issue so I disabled it for now.

Once again thank you to all Nextcloud ecosystem contributors!

4 Likes