QNAP – Backup mit UrBackup (Container Station, Urbackup-Client)

Das Thema Backup kann man mit mehreren Tools lösen. Insbesondere im Umfeld von NAS gibt es immer irgendwelche Tools, die einem dort helfen. Das Problem ist häufig, dass nur das Serversystem „gebackupt“ wird und gleichzeitig die Software proprietär ist und nicht mit anderne Systemen zusammenarbeitet. Deswegen setze ich bei mir für Client-Backups und zweites (NAS-) Server-Backup UrBackup ein.

Der Server lässt sich auf unterschiedliche Art und Weise auf fast allen Betriebssystemen installieren und ist häufig bereits in irgendeiner Art und Weise bei den NAS-Systemen verfügbar. Will man jedoch den UrBackup Client auf einem (zweiten) NAS installieren, dann wird es schon etwas schwieriger.

Es gibt keine fertige „App“ auf dem QNAP, deswegen kann man hilfsweise zu Docker greifen, denn hier liefert der Entwickler von Urbackup einen entsprechenden Container:
https://hub.docker.com/u/uroni

Das Problem mit diesem Container ist jedoch, dass er ausschließlich für die Verwendung im Internetmodus konfiguriert ist.

Um das ganze trotzdem lokal auszuphasen kann man sich etwas helfen, wenn das die eigene Firewall zulässt. Bei mir ist in diesem Fall OPNsense im Einsatz. Dort konfiguriere ich den Internetnamen für meinen UrBackup Server unter:
– Services: Unbound DNS: Overrides

Dort wird als „Host Overrides“ der Hostname und die Domain angegeben, die dann wiederum auf den lokalen Server zeigen. Das umgestellt kann in der Containerstation der Docker Container angelegt werden. Einfach geht das nach meinem Verständnis über „Erstellen“ – wodurch man die Konfigurationsdatei (YAML) einfach einfügen kann und fertig.

Bei mir kommt folgende QNAP-Taugliche Konfiguration zum Einsatz:

version: '2'

services:
  urbackup:
    image: uroni/urbackup-client:latest
    container_name: urbackupclient
    restart: unless-stopped
    environment:
      - TZ=Europe/Berlin # Enter your timezone
      - URBACKUP_SERVER_NAME=XXX
      - URBACKUP_CLIENT_NAME=YYY
      - URBACKUP_CLIENT_AUTHKEY=ZZZ
    volumes:
      - /share/CACHEDEV1_DATA/FOLDER1:/backup/FOLDER1:ro
      - /share/CACHEDEV1_DATA/FOLDER2:/backup/FOLDER2:ro
      - /share/CACHEDEV1_DATA/FOLDERN:/backup/FOLDERN:ro
    ports:
      - 35621:35621
      - 35622:35622/udp
      - 35623:35623

Der Client connected sich damit aber noch nicht mit dem Server. Auf dem UrBackup Server muss man einen neuen Client hinzufügen – und zwar einen „Internetclient / Client hinter NAT hinzufügen“. Der Name des Clients muss oben in der Container Config eingefügt werden unter URBACKUP_CLIENT_NAME. Dann wird im nächsten Fenster auch das zugehörige „connect-Passwort“ angezeigt, welches in der Container Config unter URBACKUP_CLIENT_AUTHKEY eingetragen wird.

Die Volumes, die angegeben sind, müssen auch für den eigenen Anwendungsfall angepasst werden. Es können auch mehrere Ordner gesichert werden. Im UrBackup Webinterface kann somit der komplette Ordner /backup/ (im container) gesichert werden. Sollen vom NAS mehr Ordner gesichert werden, dann müssen diese Ordner einfach nur im Container dazugemounted werden.

Beim Start des Containers muss man etwas Zeit mitbringen, bis sich Server und Client tatsächlich verbinden.

Quellen:
https://github.com/Whatang/docker_urbackup
https://github.com/themorlan/docker_urbackup
https://hub.docker.com/r/uroni/urbackup-server
https://www.urbackup.org/