Updating Nextcloud while / on BTRFS


tried to update my nextcloud(pi) instance using the tui menu option ncp-update-nextcloud at first, then with $sudo ncp-update-nc but was met with BTRFS not supported.

This thread suggests commenting out the safety check in the update script and some people in there have had success with it.

If I would update in the other ways from nextcloud docs, which one would be the preferred way on this type of install:

Odroid HC4 running armbian
  ___      _           _     _   _   _  ____ _  _   
 / _ \  __| |_ __ ___ (_) __| | | | | |/ ___| || |  
| | | |/ _` | '__/ _ \| |/ _` | | |_| | |   | || |_ 
| |_| | (_| | | | (_) | | (_| | |  _  | |___|__   _|
 \___/ \__,_|_|  \___/|_|\__,_| |_| |_|\____|  |_|  
Welcome to Armbian 21.05.8 Buster with Linux 5.10.57-meson64

System load:   6%               Up time:       2:52
Memory usage:  16% of 3.73G     IP:            local.ip.addres
CPU temp:      52°C             Usage of /:    15% of 104G   
RX today:      125.3 MiB  
root & /data are both btrfs, sda is an ssd & sdb hdd, /boot is on an sd-card, /var/log in ram
$ sudo lsblk
[sudo] password for ada: 
sda           8:0    0 111.8G  0 disk 
├─sda1        8:1    0 103.9G  0 part /
└─sda2        8:2    0   7.9G  0 part [SWAP]
sdb           8:16   0   2.7T  0 disk /data
mtdblock0    31:0    0    16M  0 disk 
mmcblk0     179:0    0   7.2G  0 disk 
└─mmcblk0p1 179:1    0   7.1G  0 part /media/mmcboot
zram0       252:0    0   100M  0 disk 
zram1       252:1    0    50M  0 disk /var/hdd.log
zram2       252:2    0   100M  0 disk /var/log
output from nc-info
NextCloudPi version  v1.38.5
distribution         Armbian 21.05.8 Buster \l 
automount            no
USB devices          none
datadir              /data/ncdata
data in SD           yes
data filesystem      btrfs
data disk usage      65G/2.8T
rootfs usage         15G/104G
swapfile             /dev/sda2
dbdir                /var/lib/mysql
Nextcloud check      ok
Nextcloud version
HTTPD service        up
PHP service          up
MariaDB service      up
Redis service        up
Postfix service      up
internet check       ok
port check 80        open
port check 443       open
IP                   local.ip.add.ress
gateway              local.ip.add.1
interface            eth0
certificates         none
NAT loopback         no
uptime               6:48

I installed ncp with the curl installer (after solving some hiccups with dphys-swapfile). I chose to install on armbian with the latest linux kernel available (Linux 5.10.57-meson64) as I had tried using btrfs snapshots earlier on linux 4.* with some serious issues that seem to have been fully patched around 5.10+.

Anyway, previously I opted for no btrfs and could thus use the ncp-update-nc command, but now I’m going to update “manually” so thus the question on “proper” way to do it. Doing anything on arm takes a while so I would rather measure thrice and cut once so to speak.

My main and personal instance of NC was installed using NCP curl installer.
As both root and ncdata are btrfs I face that issue every time I update.
As /usr/local/bin/ncp-update-nc gets overwriten every time ncp-update is run.
I have gotten into the habit of commenting out line#29 of the file prior to running it.
I still think it is more convenient then running NC’s native cli updater. I never use the web updater, avoid it, unless no other option is available.

I have a small ext4 root partition and a btrfs data partition in the same disk.
Never had problems. ( curl installer )

1 Like

Correct. You only get the error when root partition is btrfs, not when its ext4.

You can install the root on the card (ext4) and the data and database on the SSD (btrfs).
The problem will be solved

Same here, i also have a buster 64bit system on a rpi4 root with ext4 and a hdd with db and data on btrfs runnimg without problems, id suggest to set your system up like this for flawless usage

I’m in no rush to update this point release so I’ll have a proper look through ncp-update-nc first. It’s nice to know commenting out the check has been tried and tested though. c:

I’m not too keen on repartitioning the SSD, I’m actaully away from the server for a month or two so even if I would want to it would have to be when I get back. Hopefully I’ve gotten to try and update remotely once or twice using the script by then and can decide which is more effort. c: