Sign inSign up

jdrydn/rclone

By jdrydn

•Updated over 3 years ago

Containerised rclone

Image
0

999

jdrydn/rclone repository overview

⁠rclone

  • A Docker container to execute rclone⁠ commands.
  • Designed to be dropped into an ECS Fargate scheduled CRON task, passing all configuration through IAM roles & environment variables.
  • Single-process execution, and the container terminates when finished.
$ docker pull jdrydn/rclone:latest
$ docker run --rm jdrydn/rclone:latest \
  rclone --config rclone.conf sync one:// two://

⁠Configuration

Pass a preconfigured rclone.conf file to this container and execute your rclone command. There are a few ways you can get your config file into this container:

  • Mount a volume to the container during runtime:
$ docker run --rm \
  -v rclone.conf:rclone.conf:ro \
  jdrydn/rclone:latest \
  rclone --config rclone.conf sync one:// two://
  • Use this image as the basis for your own, where you can copy your config file into the image, like so:
FROM jdrydn/rclone:latest
COPY rclone.conf /root/.config/rclone/rclone.conf
$ docker build -t my/rclone:latest .
$ docker run --rm my/rclone:latest rclone sync one:// two://
$ docker run --rm \
  -e RCLONE_CONFIG_ONE_TYPE=s3 \
  -e RCLONE_CONFIG_ONE_ENV_AUTH=true \
  -e RCLONE_CONFIG_ONE_ACL=private \
  -e RCLONE_CONFIG_TWO_TYPE=b2 \
  -e RCLONE_CONFIG_TWO_ACCOUNT=ABC \
  -e RCLONE_CONFIG_TWO_KEY=XYZ \
  -e RCLONE_CONFIG_TWO_HARD_DELETE=true \
  jdrydn/rclone:latest rclone sync one:// two://
$ cat << EOF >> rclone.env
RCLONE_CONFIG_ONE_TYPE = s3
RCLONE_CONFIG_ONE_ENV_AUTH = true
RCLONE_CONFIG_ONE_ACL = private
RCLONE_CONFIG_TWO_TYPE = b2
RCLONE_CONFIG_TWO_ACCOUNT = ABC
RCLONE_CONFIG_TWO_KEY = XYZ
RCLONE_CONFIG_TWO_HARD_DELETE = true
EOF
$ docker run --rm --env-file rclone.env \
  jdrydn/rclone:latest rclone sync one:// two://

⁠Development

$ docker build -t jdrydn/rclone:dev .
$ docker run --rm \
  -v ~/.config/rclone/rclone.conf:/root/.config/rclone/rclone.conf:ro \
  jdrydn/rclone:dev \
  rclone config

⁠Use Cases

  • Sync two network drives repeatedly, using cloud-native tools like ECS Scheduled Tasks⁠ to avoid the requirement for running a physical server.
  • Sync a local drive to a remote backup, on a Docker-focused Container OS such as CoreOS⁠ or RancherOS⁠.

Tag summary

Content type

Image

Digest

sha256:095c0677e…

Size

68.5 MB

Last updated

over 3 years ago

docker pull jdrydn/rclone