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
- GitHub: bluet/docker-jottacloud
- DockerHub: bluet/jottacloud
docker pull bluet/jottacloud
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
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/ . |
Must-have: JOTTA_TOKEN
and JOTTA_DEVICE
.
Environment variables loading sequence and priority:
- Default values. (In Dockerfile)
- Set by
docker run
command. (Overrides all above) /data/jottad/jottad.env
file. (Overrides all above)- 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. |
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:
- Global excludes
- Mount or edit
/config/.ignore
directly.
- Mount or edit
- Folder specific excludes
- Put a
.jottaignore
in that folder.
- Put a
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.
This is a fork from maaximal/jottadocker with some improvements and fixes to support latest jottacloud CLI and other additional features.
Thanks goes to these wonderful people (emoji key):
Håkon 💻 🤔 |
This project follows the all-contributors specification. Contributions of any kind welcome!