This Docker container runs the Backblaze personal backup client via WINE, so that you can back up your files with the separation and portability capabilities of Docker.

It runs the Backblaze client and starts a virtual X server with Openbox and a VNC server, so that you can interact with it.

Installation:

docker run \
    -p 8080:5800 \
    --init \
    --name backblaze_personal_backup \
    -v "[backup folder]/:/drive_d/" \
    -v "[config folder]/:/config/" \
    tessypowder/backblaze-personal-wine
  1. Open the Web Interface (on the port you specified in the docker run command, in this example 8080):

    Step 1

    Bildschirmfoto von 2022-01-16 02-46-05

  2. Click "Install" to install Mono

    Bildschirmfoto von 2022-01-16 14-17-55

  3. Wait for the Download to finish

    Bildschirmfoto von 2022-01-16 14-19-08

  4. Click "Install" to install Wine Gecko

    Bildschirmfoto von 2022-01-16 14-21-08

  5. Wait for the Download to finish

    Bildschirmfoto von 2022-01-16 14-36-25

  6. Click "Install" to install Wine Gecko (second dialog for Gecko)

  7. Wait for the Download to finish

  8. Add your storage path as a wine drive, so Backblaze can acess it

    docker exec --user app backblaze_personal_backup ln -s /drive_d/ /config/wine/dosdevices/d:
  9. Restart the docker to get Backblaze to recognize the new drive

    docker restart backblaze_personal_backup
  10. Reload the Web Interface

    Bildschirmfoto von 2022-01-16 14-49-45

  11. The UI of the first step of the Backblaze installer is broken on wine, but it doesn't matter, just insert the email to your backblaze account into the input field

    Bildschirmfoto von 2022-01-16 14-51-16

  12. Press Enter

    Bildschirmfoto von 2022-01-16 14-52-27

  13. Insert your password (important: keyboard locale mismatches can mess up your inputs)

    • Tip: You can use the clipboard function of the web interface, but some passwords will still not get transferred correctly, i would reccommend setting your backblaze password to a long string without special characters

    Bildschirmfoto von 2022-01-16 14-57-31

  14. Press Enter

    Bildschirmfoto von 2022-01-16 15-00-44

  15. Wait for Backblaze to analyze your drives

    Bildschirmfoto von 2022-01-16 15-00-49

  16. Click Ok

    Bildschirmfoto von 2022-01-16 15-01-00

  17. The Installation is done 🎉

  18. Buy a license for your Computer/Server in the Backblaze Dashboard, just like for a normal Windows/Mac installation

Troubleshooting

  • The Backblaze Installer says it recognized a server operating system

    Bildschirmfoto von 2022-01-16 14-41-04

    • Explanation: I don't know what can cause this, it seems to randomly occur on some installations

    • Solution: Stop the docker, delete the config directory, restart installation from beginning

    • (Speculation: I think this only happens, when no volume is mounted at /config/ and docker manages the folder instead of the volume)

  • The backup folder mounted as drive d is not being backuped

    • Explanation: Depending on when you added drive d to your wine configuration, the backblaze installer might not recognize it

    • Solution:

      • Open the Backblaze settings
      • In the section "Hard Drives" in the first tab "Settings" enable the checkbox for next to the drive D:\
    • Still not working:

      • Run

        docker exec --user app backblaze_personal_backup ls -la /config/wine/dosdevices/
      • The output should look like this:

          drwxr-xr-x 2 app app 4096 Jan 16 13:43 .
          drwxr-xr-x 4 app app 4096 Jan 16 14:08 ..
          lrwxrwxrwx 1 app app   10 Jan 16 13:43 c: -> ../drive_c
          lrwxrwxrwx 1 app app   10 Jan 16 13:43 d: -> /drive_d/
          lrwxrwxrwx 1 app app    1 Jan 16 13:43 z: -> /
        
      • If it doesn't look like above try step 8 - 9 again

Additional Information

Warning: The backblaze client is not an init system (who knew) and doesn't clean up its zombie children. This will cause it to fill up your system's PID limit within a few hours which prevents new processes from being created system-wide, would not recommend.
The --init flag installs a tiny process that can actually do a few init things like wait()ing children in place of the backblaze client as PID 1.
Info: Backblaze will create a .bzvol directory in the root of every hard drive it's configured to back up in which it'll store a full copy of files >100M split into 10M parts. Mount accordingly if you want to preserve SSD erase cycles.