Skip to content
Using best practices: rebuild everyday, multi-stage builds, non-root, upx, labels, alpine, etc
Shell Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows Update Slack notification for edge image Sep 11, 2019
Dockerfile Updated to version: 1.49.2-r2 Sep 11, 2019
LICENSE Merge branch 'edge' Sep 10, 2019


Brought to you by

FirePress | play-with-ghost | GitHub | Twitter



What is this?

rclone in a docker container along a CI (continuous integration) to build the Docker image.


  • an everyday build and on every commit (CI)
  • a build from the sources (CI)
  • a logic of four docker tags on the master branch (CI) and logic of three docker tags on any other branches (CI)
  • few UAT tests (CI)
  • an automatic push of the README to Dockerhub (CI)
  • Slack notifications when a build succeed (Job 2) (CI)
  • a multi-stage build (Dockerfile)
  • an alpine base docker image (Dockerfile)
  • a non-root user (Dockerfile)
  • having this app running as PID 1 under tiny (Dockerfile)
  • Labels (Dockerfile)
  • this app is compressed using UPX (Dockerfile)
  • a small footprint docker image's size (Dockerfile)
  • based on bash-script-template
  • and probably more, but hey, who is counting?

About rclone

rclone logo

GitHub | Website | Documentation | Download | Installation | Forum

Rclone ("rsync for cloud storage") is a command line program to sync files and directories to and from different cloud storage providers.

At FirePress we use rclone to do cold storage backup outside our clusters.

How to use it, Docker hub

Expand content (click here).

How to use it

Example 1


docker run -it --rm \
  --name rclone-runner \

or overide the default command:

run_this="rclone --version"

docker run -it --rm \
  --name rclone-runner \
  -v /localpath/data:/data" \
  -v /localpath/rclone.conf:/home/usr_rclone/.config/rclone/rclone.conf \
  ${img_rclone} \
  sh -c "${run_this}"

Example 2

Real life example to uplaod on B2

run_this="rclone copy --transfers 10 --include ${FILE_TO_UPLOAD} /data ${B2_BUCKET_DESTINATION}"

docker run --rm \
  --name rclone-runner \
  -v /localpath/data:/data" \
  -v /localpath/rclone.conf:/home/usr_rclone/.config/rclone/rclone.conf \
  ${IMG_rclone} \
  sh -c "${run_this}"

CI configuration & Github Actions


Docker hub

Always check on docker hub the most recent build:

You should use this tag format in production.


These tags are also available to quickly test stuff:

docker run --rm -it devmtl/rclone:1.49.1
docker run --rm -it devmtl/rclone:stable
docker run --rm -it devmtl/rclone:latest

Related docker images


Website hosting

If you are looking for an alternative to WordPress, Ghost might be the CMS you are looking for. Check out our hosting plans.


Why, Contributing, License

Expand content (click here).

Why all this work?

Our mission is to empower freelancers and small organizations to build an outstanding mobile-first website.

Because we believe your website should speak up in your name, we consider our mission completed once your site has become your impresario.

Find me on Twitter @askpascalandy.

The FirePress Team 🔥📰


The power of communities pull request and forks means that 1 + 1 = 3. You can help to make this repo a better one! Here is how:

  1. Fork it
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request

Check this post for more details: Contributing to our Github project. Also, by contributing you agree to the Contributor Code of Conduct on GitHub.


You can’t perform that action at this time.