Backup to Microsoft OneDrive for Business (SharePoint) with Synology’s Hyper Backup

This is a follow-up to my article Backup to Microsoft OneDrive with Synology’s Hyper Backup. After presenting my solution for using Microsoft OneDrive (Personal) as a backup destination in Synology’s Hyper Backup, I was asked if it could also be used with OneDrive for Business. OneDrive for Business is based on SharePoint, which can be configured in different ways. Thanks to the node-sp-auth package, I was able to write another proxy server that works with several of the different SharePoint authentication mechanisms.

tl;dr Run the basic-to-sharepoint-auth-http-proxy Docker image and configure a WebDAV backup destination in Hyper Backup.

The approach is the same as with OneDrive (Personal): Hyper Backup does not offer to configure OneDrive for Business as a backup destination, but it does offer to configure a WebDAV server as backup destination. OneDrive for Business does provide a WebDAV API, but most of the authentication mechanisms provided by OneDrive for Business are not supported by Hyper Backup. (Hyper Backup seems to support NTLM authentication, but I never succeeded in authenticating with NTLM.) So the solution is a HTTP proxy server that manages the authentication part and passes through the WebDAV messages mostly unchanged.

The setup is similar to what is described in Backup to Microsoft OneDrive with Synology’s Hyper Backup. Specific instructions can be found at the GitHub repository.

Beware that this software is not thoroughly tested yet.

3 Gedanken zu „Backup to Microsoft OneDrive for Business (SharePoint) with Synology’s Hyper Backup

  1. Ich habe versucht den Container auf einem Raspberry Pi 3 Model B Rev 1.2 auszuführen. (ARMv7)
    Docker version 19.03.1, build 74b1e89
    Der Container hat aber immer den Status ‚“Restarting“.

    docker logs sharepoint-proxy sagt folgendes:
    standard_init_linux.go:211: exec user process caused „exec format error“
    standard_init_linux.go:211: exec user process caused „exec format error“
    standard_init_linux.go:211: exec user process caused „exec format error“

    Kannst du weiterhelfen? Kann es sein, dass der Container nicht auf ARM-Architekturen lauffähig ist, sondern nur für x86_64?

    Vielen Dank.

    Gruß
    Andy

    • Ja das kann sein. Der Container basiert auf dem node:10-alpine container, das zugehörige Dockerfile liegt im GitHub-Repository. Auf der Docker node Seite steht zwar, die Images seien mit ARM kompatibel, aber vielleicht gilt das nicht für die alpine-Variante. Du könntest mit den Dateien aus dem GitHub-Repository ein eigenes Image basierend auf node:10 bauen (einfach Dockerfile anpassen). Alternativ kann man z.B. Node.js auch direkt auf dem Raspberry Pi installieren. Hilft das weiter?

      • Ich habe nun Node.js direkt auf dem Raspberry Pi installiert.
        Es läuft jetzt 🙂
        Vielen Dank für diese tolle Arbeit!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

 

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.