Can I backup my Mac?

Absolutely. But only with the Docker version and “Docker Desktop.”

  1. Download and install Docker Desktop for Mac:
    https://docs.docker.com/desktop/setup/install/mac-install/
  2. Give Docker Desktop full access rights on your Mac.
  3. Download the ZIP file Bmus-Docker.zip and unzip it.
  4. Go to the folder where you unzipped Bmus-Docker.zip.
  5. Open the Yaml and replace it with this:
services:
  bmus:
    # ---------------------------------------------------------
    # backmeupscotty
    # ---------------------------------------------------------
    #build: .
    image: backmeupscotty/bmus:latest
    container_name: bmus_backup
    restart: unless-stopped
    privileged: true
    cap_add:
      - SYS_ADMIN
      - DAC_READ_SEARCH
    
    volumes:     
      
      - /Users/your_mac_user_here:/host_root/Users/your_mac_user_here:ro
      - ./config:/config

    environment:
    # change to your time zone
      - TZ=Europe/Berlin
  1. Change to the /config folder
  2. Open bmus.conf and configure it according to your preferences.
  3. IMPORTANT: The backup path under BACKUP_SOURCES under Mac always starts with
    /host_root/Users/your_mac_user/
    Example: “/host_root/Users/your_mac_user/Documents/PDF
  4. Remember to edit msmtp.conf (smtp config for mail reports), bmus_credentials (credentials to your NAS), and bmus_geocryptfs (Password file for encrypted backups).
  5. Switch back from the /config folder to the root folder of the Bmus-Docker directory.
  6. Give the bmus file execution permissions:
sudo chmod +x bmus
  1. Now you need to start loading and building the Docker image.
  2. Enter the following command:
    sudo docker compose up -d
  3. Once the image has loaded and appears in Docker Desktop, you are ready to proceed.
  4. Run Bmus for your first backup:
    sudo bmus or send the command into the container sudo docker exec -it bmus_backup /app/bmus.sh

This is what the wrapper code looks like:

#!/bin/bash

# Container is running?
if [ ! "$(sudo docker ps -q -f name=bmus_backup)" ]; then
    echo "Error: BmuS container is not running!"
    echo "Please start it first: sudo docker compose up -d"
    exit 1
fi

# Pass the command to the container
# “$@” passes all arguments (such as --restore --list) 1:1
sudo docker exec -it -e CONFIG_FILE=/config/bmus.conf bmus_backup /app/bmus.sh "$@"