bluet / docker-jottacloud

Docker of Jottacloud client backup daemon, with jotta-cli and jottad inside.
24 stars 4 forks source link
backup docker fswatch jottacloud schedule

Dockerized Jottacloud Client

All Contributors

Docker of Jottacloud client side backup daemon with jotta-cli and jottad inside.

Jottacloud is a Cloud Storage (backup) service provider, which offers unlimited storage space for personal use.

Support platforms: linux/amd64, linux/arm64

IMPORTANT: Upstream BREAKING CHANGES in 0.12 (Version 0.12.50392 - 2021-10-26) https://docs.jottacloud.com/en/articles/1461561-release-notes-for-jottacloud-cli

Repository

docker pull bluet/jottacloud

Use

To start a long running jottacloud backup client, the easy way:

docker run \
   -e JOTTA_TOKEN=XXXXX \
   -e JOTTA_DEVICE=YYYY \
   -v /dockerdata/jottacloud/config:/data/jottad \
   -v /home/:/backup/home \
   bluet/jottacloud

To start a long running jottacloud backup client, with custom configs:

docker run \
   -e JOTTA_TOKEN=XXXXX \
   -e JOTTA_DEVICE=YYYY \
   -e JOTTA_SCANINTERVAL=12h \
   -e LOCALTIME=ZZZ/ZZZ \
   -v /data/jottacloud/config:/data/jottad \
   -v /data/jottacloud/ignore:/data/jottad/.ignore \
   -v /data/jottacloud/jottad.env:/data/jottad/jottad.env \
   -v /home/:/backup/home \
   --name jottacloud \
   bluet/jottacloud

For debugging:

docker run -it bluet/jottacloud bash

For debugging a running container:

docker exec -it jottacloud bash

Volume mount-point

Must-have: /data/jottad and /backup/.

Path Description
/data/jottad Config and data. In order to keep login status and track backup progress, please use a persistent volume.
/data/jottad/.ignore exclude pattern [#Exclude]
/data/jottad/jottad.env Environment variables for jottad (jotta-cli) container
/backup/ Data you want to backup. ex, -v /home/:/backup/home/, or -v /backup/:/backup/.

ENV

Must-have: JOTTA_TOKEN and JOTTA_DEVICE.

Environment variables loading sequence and priority:

  1. Default values. (In Dockerfile)
  2. Set by docker run command. (Overrides all above)
  3. /data/jottad/jottad.env file. (Overrides all above)
  4. Docker secret key jotta_token. (Overrides all above)
Name Value
JOTTA_TOKEN Your Personal login token. Please obtain it from Jottacloud dashboard Settings -> Security. This will only show once and can only be used in a short time, so please use persistent volume on /data/jottad/ to save your login status.
JOTTA_DEVICE Device name of the backup machine. Used for identifying which machine these backup data belongs to.
JOTTA_SCANINTERVAL Interval time of the scan-and-backup. Can be 1h, 30m, or 0 for realtime monitoing.
LOCALTIME Local timezone. ex, Asia/Taipei
STARTUP_TIMEOUT how many second to wait before retry startup.

Exclude

IMPORTANT: Since 0.12.50392 (2021-10-26) this no longer works. PRs welcome. https://docs.jottacloud.com/en/articles/1461561-release-notes-for-jottacloud-cli

It's recommend to exclude some files/folders from being upload, to avoid triggering speed limit or for security reasons.

To do so, jotta-cli supports two different ways:

You can also check my sample .jottaignore file.

Syntax / Pattern: .ignore, ignorefile, and .jottaignore are .gitignore compatible. You can check templates in github/gitignore or use Gitignore.io to generate one for you.

NOTE: Adding a new pattern will also apply to files already backup. If you already have a backup which contains /foo/bar/ and later adds a new pattern bar/ in ignore list, the bar/ folder will be removed from all your previous backups and moved to Trash.

Result

2021-05-21 09-37-19 的螢幕擷圖

Detailed official configuration guide of jotta-cli

Credit

This is a fork from maaximal/jottadocker with some improvements and fixes to support latest jottacloud CLI and other additional features.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Håkon

💻 🤔

This project follows the all-contributors specification. Contributions of any kind welcome!