NextCloudPi image for the Odroid XU4 and HC1

Hi all,

I created a test build of NextCloudPi for the odroid HC1 (and XU4).

This is a first testing release (actually there is already something reported, see link), but it would be great to have feedback and help to tweak it for performance.



Hi Nachoparker,
as previously mentioned in the other thread, I am a total NextCloud noob.
So most I can do for the moment is a first user’s opinion.
I probably wont have time to try this out today, but will give it a good try during the week / week-end and report back with ideas and feedback.

Thanks for your dedication, this is awesome.

1 Like

great! let us know


Here is my first impressions of the Odroid HC1 image.
I have no experience with Raspberry or Odroid cards before and a regret that I did not buy a USB-UART Module for serial console.
My HDD is old and had LibreELEC installed on it before which has two partitions. I was not able to format the drive from the web-gui and the ncp user was not in sudoers list.
No serial console to boot into single user mode so I had to mount the SD card on my Ubuntu Workstation and add ncp user to sudo group.
The SD card is also old and slow and I wanted to move MariaDB, swap and data directory to the HDD. I was not able to move swap from TUI because the package dphys-swapfile was not installed. After dphys-swapfile was installed it was easy to move the swap from TUI.
First I tried to make one huge brtfs partition to be able to use the snapshot feature but MariaDB wanted extX filesystem.
I realize that making snapshots of the swap will not be a good idea and I made two partiitions manually with fdisk on the HDD. One for MariaDB and swap and the second for Nextcloud data.

I moved swap between HDD and SD card several times because of my filesystem problem.
In the TUI I got this but it worked and may be some kind of typo in the script?
swapoff: /media/USBdrive/var/swap: swapoff failed: Invalid argument

Next step will be to configure Nextcloud.


First: you don’t need a UART, because you can SSH in like in any Armbian board ( user root, pass 1234 )

the ncp user is used only for loging in to ncp-web, so it shouldn’t be in sudoers. All the actions end up being run with root permisions through /var/www/ We would have to investigate why it doesn’t work from ncp-web.

the issue with BTRFS and nc-database has already been fixed, update to the latest version ( from ncp-web for instance ) and try again.

we should make a note on NCP github to see how Armbian manages the swapfile, because IIRC they do just 128Mb swap with vm.swappiness=0

Thanks for the great feedback!

Thank you for the quick answer. Are you going to create a new image for HC1 with the new features and Nextcloud 12.0.4?
I will probably write the image and start over again.

I will, probably next week. In any case it should be trivial to update NC through the in app updater

@tflidd I think you mistyped the tag ‘ncpi’ instead of ‘ncp’ which is used everywhere else.


indeed, I corrected it.

1 Like

ncp-update does not work here. No response when I ping from my ISP and I had to change to another site manually to make it work. After the upgrade to v0.41.6 the file changed to again ncp-update make an exit 1 “No internet connectivity”.

mmm if you have no connectivity to there’s something wrong with your network config? I would look into that first.

Finally got it to boot after checking my adapter (not working) and getting a working one.
First problem I have is that I can’t acces the wizard.
It asks me for credentials for the ncp-web login.
I tried my normal login (which I allready changed) and every “admin password” type of login I could think of.

Edit : I also just saw that Nextcloud doesn’t recognize the HDD I have attached and shows me only a maximum of unlimited or the size of the SD card (probably because I couldn’t go through the wizard)

I am probably doing something wrong… but I don’t know what.

PS : Small Idea, but maybe a link to the wizard from the login page would be handy for new users (like me) not finding all the resources when starting)

nslookup with my ISP nameserver respond with these IP addresses.
Ping does not work for me.

Google nameserver respond with and
Ping works.

There are other people with this problem.

I think I have a problem which is in some way connected to yours.
I finally got the ncp-web login to work (found it crawling through google… I really couldn’t find it in documentation). but now I can’t get letsencrypt to work.
It always gives me a “no internet connection error”. Fyi, I let nc-forward-ports do its job and cut off the routers firewall.
I can’t ping through windows cmd…

Edit : didn’t click on your link.
I clearly have the same problem, neither nc-update nor letsencrypt work because of this ping to github line… maybe changing from github to something else in general would help ?

Hello @nachoparker, I’d like to hear your opinion on the Odroid HC1. I’m considering to buy one instead of RPi3 because of the SATA port and 1GB LAN. It has official support of Ubuntu and also is running Raspbian, which is optimised to run from SDcard and should prolong it’s life.
What are the best options to run NextCloudPi image there?

  • Ubuntu/Raspbian + NC from packages
  • Ubuntu/Raspbian + Docker image of ARM NextCloudPi
  • direct NextCloudPi image you prepared

Is there any difference in SDcard weardown if using docker or Ubuntu, or does it have any downsides?
What are your experiences with Odroid HC1?

Btw, in case of power failures with no activity in NC, are there any possibilities of power loss? Does the image auto-fix filesystem erros after reboot or manual intervention is needed?

Many thanks,


Ubuntu/Raspbian… I was not aware that this exists. Do you mean some Ubuntu distro for ARM?

NC from packages, there are none for ARM AFAIK

Docker image: easy to install on any system that runs docker, so it would work on Ubuntu, if you want to use Ubuntu for any particular reason (I prefer Debian).

NCP image: nothing to install, works out of the box, and more featureful than the docker image. This would be my recommendation.

I really like the Odroid HC1, I am working on it ATM and it’s so much faster. I would need to find some time for further optimizing for it, but it is already much better than RPi.

If there’s powerloss… systemd will check the system upon next boot most likely. If you use BTRFS (NCP default), it has some better self-healing capabilities. But always, keep backups/snapshots.


Hi Nacho,
I order my HC-1 and its due to arrive in a few days. I currently am running your NextCloudPi image on my Raspberry Pi 3 with an external 4tb hdd which is working great. I was just wondering if you could suggest the best way to switch over to the HC-1 when the time comes. Is it possible to keep the data on the harddrive and just install it in the HC-1? Or would it be better to transfer everything temporarily to another drive and then when the HC-1 is setup to transfer it back.

Any advice you could give would be greatly appreciated.

Ok - I’ve previously installed nextcloupi on pi 3 and liked it (1tb usb drive as storage) but of course browsing the forums came across the recommendation of the odroid HC1 as a good platform. As I’d taken the pi out of a pi 3 cluster of 3, this was a good solution to get the cluster back . I want to trial the cluster for docker/kubernetes with nextcloud docker image but the issue is how to access storage - but that will come later. so I ordered an HC1 (wish it was an HC2)

The following is just a capture of my way to get it up and running - hope it might help someone else.

Experience so far is good using the armbian image (with some hiccups).

But its running now.

Current config 16 Gb Sd card - 2tb seagate 2.5" HDD - 100 gb ext4 and 1.7 Tb partition - btrfs.

Just wondering about how to maximise performance as initially I had issues when I used the admin web gui (nextcloud - not ncp) to update - I had some problems creating users after the update so reinited and reconfigged. Its an iterative process to get the best stable config - but getting there.

My preference would be boot off the sata hdd - and swap on that as well but looks like boot is not possible - see below about moving rootfs to sata as best compromise.

Need to do some investigating on how to achieve everything but here’s a quick recipe - comments and suggestions welcome on how I got to this point:

Download armbian image ( )

  • un pack image and dd to sd card (16Gb) , plug the sdd card into the odroid with 2 Tb 2.5" sata hdd unpartitioned.
  • boot system - check router for new dhcp client ip and mac address. ( I then reserve the allocated address on the dhcp server on the router to ensure its stays with that address)
  • ssh to ip address - login with root - 1234
  • system prompts for new user - fill in details - new password logout
  • log back in as new user

run sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

sudo dpkg-reconfigure locales

sudo dpkg-reconfigure tzdata

partition your hard disk:

fdisk -l will help you find the disk (/dev/sda) - then fdisk /dev/sda to partition. I partitioned with 100 Gb /dev/sda1 (for subsequent root filesystem) and /dev/sda2 btrfs for data. You can use GPT or DOS partition type - I used DOS out of habit.

mkfs -t btrfs /dev/sda2 to put a filesystem on /dev/sda2

mkdir /data and mount -t btrfs /dev/sda2 /data to check and then umount /data - it will be mounted later.

  • as an alternative to the above dist-upgrade and locale and timezone settings you can run sudo armbian-config - its worth having a look
  • I did the firmware update from this util - it hung on php7.0-fpm but I logged in on another terminal and rebooted - all good - probably best to do from command line

But armbian-config does help with moving rootfs to sata - a bit of an ugly menu glitch - lots of red text but pressed yes anyway. screen says will take 25 mins to copy root file system - and it took at least that. But worked.

Reboot to make sure it all works as expected - login and check out new mounts: sudo mount

You’ll find /dev/sda1 on / type ext4

Now setup system mounting for your data disk

sudo vi /etc/fstab

I appended the following line:
UUID=54a59b05-14b1-4fe8-aba5-6e51232ad237 /data btrfs defaults,noatime,nodiratime 0 2

You can get the UUID with sudo blkid

Now sudo mount -a and then df -h should show 1.8Tb on /data

Whilst on the system - if you need to - add trusted domains to /var/www/nextcloud/config/config.php - I have to do this because I have my own internal/home network dns.

Hopefully everything is good and you can go on and configure Nextcloud using ncp - http://<yourip>:4443 - login ncp password ownyourbits



Thanks for the information. I would like to give some love to the Armbian images soon and take them out from testing. Also there’s some optimizations that I would like to do for this specific hardware… hopefully I’ll be able to do that within this month.

Any testing/feedback/help with tuning is very appreciated, so thanks


well, you can do that, but you would have to manually point to the old location of your data in config.php, and then run nc-scan to make Nextcloud aware of the old files.

you can also check other options such as backups, or imports here