diff --git a/rclone/Dockerfile b/rclone/amd64/Dockerfile similarity index 100% rename from rclone/Dockerfile rename to rclone/amd64/Dockerfile diff --git a/rclone/README.md b/rclone/amd64/README.md similarity index 100% rename from rclone/README.md rename to rclone/amd64/README.md diff --git a/rclone/bootstrap.sh b/rclone/amd64/bootstrap.sh similarity index 100% rename from rclone/bootstrap.sh rename to rclone/amd64/bootstrap.sh diff --git a/rclone/sync.sh b/rclone/amd64/sync.sh similarity index 100% rename from rclone/sync.sh rename to rclone/amd64/sync.sh diff --git a/rclone/arm/Dockerfile b/rclone/arm/Dockerfile new file mode 100644 index 0000000..2f95948 --- /dev/null +++ b/rclone/arm/Dockerfile @@ -0,0 +1,15 @@ +FROM alpine:3.10 + +MAINTAINER Newnius + +RUN apk add --no-cache curl bash && \ + curl -O https://downloads.rclone.org/rclone-current-linux-arm.zip && \ + unzip rclone-current-linux-arm.zip && \ + mv rclone-*-linux-arm/rclone /usr/bin/ && \ + rm rclone-current-linux-arm.zip && \ + rm -rf rclone-*-linux-arm + +ADD bootstrap.sh /etc/bootstrap.sh +ADD sync.sh /etc/sync.sh + +CMD ["/etc/bootstrap.sh"] diff --git a/rclone/arm/README.md b/rclone/arm/README.md new file mode 100644 index 0000000..c554a19 --- /dev/null +++ b/rclone/arm/README.md @@ -0,0 +1,32 @@ +# Deploy rclone in docker + +## Deploy + +```bash +docker run \ + --name rclone \ + -d \ + --restart always \ + --cpus 0.2 \ + --mount type=bind,src=/etc/localtime,dst=/etc/localtime,readonly \ + --mount type=bind,src=/data/,dst=/data,readonly \ + --mount type=bind,src=/home/rclone/,dst=/root/ \ + newnius/rclone:arm +``` + +## Add remote + +```bash +docker exec -it rclone rclone config +``` + +## Sync + +Rewrite file `/home/rclone/sync.sh` and restart the rclone container, done! + +## Reference + +[Install | rclone](https://rclone.org/install/) + +[ncw/rclone](https://github.com/ncw/rclone) + diff --git a/rclone/arm/bootstrap.sh b/rclone/arm/bootstrap.sh new file mode 100755 index 0000000..ec9b513 --- /dev/null +++ b/rclone/arm/bootstrap.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +if [[ ! -f /root/sync.sh ]]; then + cp /etc/sync.sh /root/sync.sh +fi + +bash /root/sync.sh diff --git a/rclone/arm/sync.sh b/rclone/arm/sync.sh new file mode 100755 index 0000000..fd9d3ed --- /dev/null +++ b/rclone/arm/sync.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +# put your own backup strategy here. +# such as backup the whole data once a day, +# or sync at real time + +while true; do + + # rclone sync /data/ dropbox:/ --local-no-check-updated --ignore-size --ignore-checksum + # echo "synced at $(date)" + + echo 'rewrite file /root/sync.sh to enable sync' + + sleep 30 + +done