Dependencies for BmuS

Updated on 08.01.2026

This list contains all programs and packages that must be installed on the system for BmuS to function properly. Almost all of them should be installed. An exception is, for example, msmtp or gocryptfs.

Note: Just run install_dependencies.sh and everything will be installed automatically.

Note: If you use the Docker version of BmuS, all dependencies are already pre-installed. BmuS is then essentially plug & play.

When you first start it, BmuS checks for system dependencies and informs you if something needs to be installed. If everything is okay, the backup starts, otherwise it stops.

The variable FIRST_CHECK (bmus.conf) is set to 1 on the first run. This triggers the dependency check. If the check is successful, the variable will automatically set to 0 (assuming it has sufficient write access to bmus.conf).

Overview

Below is an overview of the programs/packages used by BmuS.

1. Bash Shell

bash

Minimum version: 4.0 or higher

2. rsync

bash

Used for: Differential file synchronization, backup verification

3. CIFS Utils (for NAS mount)

bash

Used for: Mounting SMB/CIFS shares (NAS connection)

4. Core-Utils

bash

Used for: Basic system commands

5. zip

bash

Used for: Compressing log and dashboard files for emailing

6. numfmt (part of coreutils)

bash

Used for: Converting bytes to readable formats (KB, MB, GB)

Conditional dependencies (depending on configuration)

7. MySQL-Client (only with BACKUP_SQL=1)

bash

Used for: Creating database dumps

Check configuration:

nano

8. msmtp (only with SEND_MAIL=1)

bash

Used for: Emailing
Following configuration required:

nano


Set permissions:

bash

Check configuration:

nano

9. base64 (usually preinstalled)

bash

Used for: Email attachment encoding (MIME)

System requirements

10. sudo rights

bash

Required sudo commands:

mount – mount NAS share
umount – umount NAS share
mkdir – Create mount directory
chown – Set permissions
msmtp – Email sending (as another user)

Recommended sudoers configuration:

bash

11. Network tools

bash

Used for: NAS accessibility check


Dashboard dependencies

12. sed

bash

Used for: Text replacement in HTML dashboard

13. tail / head / grep

bash

Used for: Log analysis and dashboard data extraction

Encryption

14. gocryptfs & gnupg

bash

Next