Urbackup Server docker installation does not detect BTRFS anymore after update to 2.5.x

Hi,

I just pulled the 2.5.x branch of urbackup, unfortunately without doing a database backup first (my bad, but ok, have to live with that, that’s what you get for depending on latest, fixed that now).
Unfortunately, now the new server in the container fails do detect that the backup destination is BTRFS, and gives up after some time.

# urbackup_snapshot_helper test
Testing for btrfs...
TEST FAILED: Creating test btrfs subvolume failed

I even tried it running with privileged: true instead of adding the SYS_ADMIN capability. Still failing:

Full log:

urbackup  | 2022-08-29 13:14:12: Starting HTTP-Server on port 55414
urbackup  | 2022-08-29 13:14:12: HTTP: Server started up successfully!
urbackup  | 2022-08-29 13:14:12: SQLite: recovered 17023 frames from WAL file /var/urbackup/backup_server.db-wal code: 283
urbackup  | 2022-08-29 13:14:13: SQLite: recovered 83465 frames from WAL file /var/urbackup/backup_server_files.db-wal code: 283
urbackup  | 2022-08-29 13:14:13: SQLite: recovered 214 frames from WAL file /var/urbackup/backup_server_link_journal.db-wal code: 283
urbackup  | 2022-08-29 13:14:13: SQLite: recovered 119 frames from WAL file /var/urbackup/backup_server_settings.db-wal code: 283
urbackup  | 2022-08-29 13:14:13: SQLite: recovered 17023 frames from WAL file /var/urbackup/backup_server.db-wal code: 283
urbackup  | 2022-08-29 13:14:13: SQLite: recovered 119 frames from WAL file /var/urbackup/backup_server_settings.db-wal code: 283
urbackup  | 2022-08-29 13:14:13: SQLite: recovered 83465 frames from WAL file /var/urbackup/backup_server_files.db-wal code: 283
urbackup  | 2022-08-29 13:14:13: SQLite: recovered 214 frames from WAL file /var/urbackup/backup_server_link_journal.db-wal code: 283
urbackup  | 2022-08-29 13:14:13: Started UrBackup...
urbackup  | TEST FAILED: guestmount is missing (libguestfs-tools)
urbackup  | 2022-08-29 13:14:13: Image mounting disabled: TEST FAILED: guestmount is missing (libguestfs-tools)
urbackup  | Testing for btrfs...
urbackup  | TEST FAILED: Creating test btrfs subvolume failed
urbackup  | Testing for zfs...
urbackup  | TEST FAILED: Dataset is not set via /etc/urbackup/dataset
urbackup  | 2022-08-29 13:14:13: Backup destination cannot handle subvolumes and snapshots. Snapshots disabled.
urbackup  | 2022-08-29 13:14:13: InternetService: Server started up successfully!
urbackup  | 2022-08-29 13:14:13: UrBackup Server start up complete.
urbackup  | 2022-08-29 13:14:13: Server started up successfully!

OK, i found out that the image on Dockerhub is missing the btrfs-progs. Once I create an image based on the additional one that had them added, it seems to be working. @uroni, is this intentionally, or am I holding it wrong?

Looking at the latest Dockerfile let me assume, that the argument BTRFS must be set to something in order to let the image builder install it - correct me if Iam wrong, but:

ARG BTRFS
ARG ZFS

and:

    && apt-get install -y --no-install-recommends \
            /root/urbackup-server.deb \
            ${BTRFS:+btrfs-progs} \
            ${ZFS:+zfsutils-linux} \

is only being installed, if the arg is filled with something.

Looking at the build.sh let me also assume, that uroni has to call the build script with btrfs to let it buold an image with tag suffix _btrfs - which currently does NOT exist!

In previous version, btrfs was just built into the main image.

I guess, uroni has to build new images.

Introduced in: Add variants for btrfs and zfs · uroni/urbackup-server-docker@efebbc4 · GitHub

1 Like

Yeah, came to the same conclusion when checking, have currently settled for building my own derivative image. So I’ll keep an eye out for _btrfs named images on Dockerhub in the future, if I understood the script correctly.

Hello, New update today, it seems to be better for me…

Yep, that was fixed.

Yes it is, and just to be save, I’m now using the following Dockerfile for the version I have deployed :wink:

FROM uroni/urbackup-server:2.5.x
# make sure btrfs support is installed, otherwise rebuild will fail
RUN test -e /bin/btrfs