Public | Automated Build

Last pushed: a month ago
Short Description
trigger rclone commands from external container via built in http server.
Full Description

docker-rclone





Docker for Rclone - a command line program to sync files and directories to and from various cloud services.

Cloud Services

  • Google Drive
  • Amazon S3
  • Openstack Swift / Rackspace cloud files / Memset Memstore
  • Dropbox
  • Google Cloud Storage
  • Amazon Drive
  • Microsoft One Drive
  • Hubic
  • Backblaze B2
  • Yandex Disk
  • The local filesystem

Features

  • MD5/SHA1 hashes checked at all times for file integrity
  • Timestamps preserved on files
  • Partial syncs supported on a whole file basis
  • Copy mode to just copy new/changed files
  • Sync (one way) mode to make a directory identical
  • Check mode to check for file hash equality
  • Can sync to and from network, eg two different cloud accounts
  • Optional encryption (Crypt)
  • Optional FUSE mount (rclone mount) - See docker-rclone-mount

Create Docker Container

docker create \
--name=rclone.radarr \
-p 8081:8080 \
-v /home/user/mount/.local/encrypted_movie_folder:/source_folder \
-v /home/user/.config/rclone:/config \
-v /home/user/docker/containers/rclone.radarr/logs:/logs \
-e SYNC_COMMAND="rclone move -v /source_folder/ gdrive_clusterboxcloud:cb/encrypted_movie_folder --size-only" \
that1guy/docker-rclone

Parameters

  • -v /config The path where the .rclone.conf file is
  • -v /source_folder The path to the data which should be backed up by Rclone
  • -e SYNC_COMMAND A custom rclone command $SYNC_DESTINATION:/$SYNC_DESTINATION_SUBPATH
  • -e RCLONE_DEST The rclone destination.

Starting rclone sync command inside docker container

To start kick off the rclone move process inside this container simply perform a GET request to the container's /rclone_move endpoint`.

To start kick off the unionfs cleanup process inside this container simply perform a GET request to the container's /unionfs_cleanup endpoint`.

If you --link this rclone container inside the actual radarr/sonarr container then you can trigger the rclone process with a post processing webhook in radarr/sonarr.

For example. Start start the radarr container like this:

docker rm -fv radarr; docker run -d \
--name=radarr \
--link rclone.radarr:rclone.radarr \
.
.
.

Then you quickly build a post-processing script inside the radarr container the performs a GET request to start rclone sync.

#!/bin/bash
eval "curl -i rclone.radarr:8080"
exit

Info

  • Shell access whilst the container is running: docker exec -it Rclone /bin/ash
  • Upgrade to the latest version: docker restart Rclone
  • To monitor the logs of the container in realtime: docker logs -f Rclone

Versions

  • 2017/01/25:
    • Initial release
Docker Pull Command
Owner
that1guy
Source Repository