Sign inSign up

saspus/duplicacy-web

By saspus

•Updated 17 days ago

Wrapper around Duplicacy-web

Image
Databases & storage
29

1M+

saspus/duplicacy-web repository overview

⁠Duplicacy-Web wrapper

This is a wrapper around http://duplicacy.com⁠ web GUI.

Two branches are supported:

  • mini: The container downloads and caches the correct binary of duplicacy_web for the host architecture and selected version on start. To update/downgrade to another version, change the environment variable and restart the container. This is the recommended version to use.
  • latest: the classic one with the fixed version of duplicacy_web baked into the image.

Supported are x64, arm, arm64.

Notes:

  • Download-on-demand approach was already used by duplicacy_web to fetch the updated version of a duplicacy CLI engine. The mini container now extends this behavior to duplicacy_web itself, making it easy to switch between versions at your cadence.

⁠Volumes

/config -- is where configuration data will be stored. Should be backed up.

/logs -- logs will go there.

/cache -- transient and temporary files will be stored here. Can be safely deleted.

⁠Environment variables

⁠Common variables

USR_ID and GRP_ID: User and group ID under which the duplicacy_web will be running.

TZ: time zone. Refer to https://en.wikipedia.org/wiki/List_of_tz_database_time_zones⁠

USR_ID and GRP_ID can be customized. Container will run as that user. By default, user 0 (root) is used.

⁠:mini only

DUPLICACY_WEB_VERSION: Specifies version of duplicacy_web to fetch and use.

Acceptable values:

  • x.x.x - Use specific version, like 1.4.1
  • Latest - Use latest available version from Acrosync.
  • Stable - Use last known stable version as defined⁠ by Acrosync.

To apply the changes, restart the container. When on Latest or Stable channels, restart the container to check for and apply updates as needed. This makes the :mini version behave more like a thin adapter layer as opposed to a true self-encompassing container.

⁠To run

An example for :mini branch; the duplicacy_web version is selectable via environment variable:

docker run  --name duplicacy-web-docker-container         \
        --hostname duplicacy-web-docker-instance          \
         --publish 3875:3875/tcp                          \
             --env USR_ID=$(id -u)                        \
             --env GRP_ID=$(id -g)                        \
             --env TZ="America/Los_Angeles"               \
             --env DUPLICACY_WEB_VERSION="Stable"         \
          --volume ~/Library/Duplicacy:/config            \
          --volume ~/Library/Logs/Duplicacy/:/logs        \
          --volume ~/Library/Caches/Duplicacy:/cache      \
          --volume ~:/backuproot:ro                       \
                   saspus/duplicacy-web:mini 

An example for :latest branch; the duplicacy_web version is baked into the container:

docker run  --name duplicacy-web-docker-container         \
        --hostname duplicacy-web-docker-instance          \
         --publish 3875:3875/tcp                          \
             --env USR_ID=$(id -u)                        \
             --env GRP_ID=$(id -g)                        \
             --env TZ="America/Los_Angeles"               \
          --volume ~/Library/Duplicacy:/config            \
          --volume ~/Library/Logs/Duplicacy/:/logs        \
          --volume ~/Library/Caches/Duplicacy:/cache      \
          --volume ~:/backuproot:ro                       \
                   saspus/duplicacy-web:latest 

Notes:

  • It's important to pass a hostname, as duplicacy license is requested based on hostname and machine-id provided by dbus. Machine-id will be persisted in the /config directory.
  • To perform backups and other maintenance tasks it's sufficient (and recommended) to mount the source read-only (see ~:/backuproot:ro above), however in order for the restore to succeed the target volume needs to be mounted in RW mode.

⁠To use

Go to http://hostname:3875⁠

⁠Container release schedule

The container it automatically built and released weekly to incorporate any base image security fixes. The legacy/latest version, that has the duplicacy_web backed in, determines version to use via curl -sL https://duplicacy.com/latest_web_version | jq -r '.latest'

Tag summary

Content type

Image

Digest

sha256:f98539e02…

Size

20 MB

Last updated

17 days ago

docker pull saspus/duplicacy-web