git-annex/doc/tips/using_Backblaze_B2.mdwn
branchable.git-annex@cd7b2a7420674f7ca1d0ff0a450d466c47cf6684 dab5c679b7 Updated the S3-special-remote example and prose based on recent B2 experience
2025-08-03 11:27:56 +00:00

36 lines
2.2 KiB
Markdown

For using Backblaze B2 as a special remote, there are currently three
choices:
* Using [[special_remotes/rclone]]
(Actively maintained)
* Backblaze B2 supports supports the same API as Amazon S3, so
git-annex's built-in [[S3 special remote|special_remotes/S3]] can be used
with it.
However, it needs S3 version 4 signatures, which are only supported by
git-annex 8.20200508 and newer.
Here is how to set up the special remote:
export AWS_ACCESS_KEY_ID=$appKeyId
export AWS_SECRET_ACCESS_KEY=$appKeySecret
git annex initremote backblaze type=S3 signature=v4 host=$endpoint bucket=$bucketname protocol=https encryption=$encryption
Remember to replace:
- `$appKeyId` and `$appKeySecret` with the values displayed by B2 when you created an "Application Key".
- `$endpoint` with the B2 endpoint to which your account has an affinity.
- An easy way to find the correct value is to create a temporary bucket in the service's web UI, and then use the "endpoint" field displayed for *that* bucket (before deleting the temporary bucket!).
- `$bucketname` with the name of the bucket you wish to use
- This is **not** the opaque B2 "Bucket ID".
- `$encryption` with the [[encryption]] setting you want git-annex to apply to the files it stores in the bucket.
- This is **unrelated** to the B2 server-side bucket encryption setting.
If a bucket with the specified name does not already exist then git-annex will attempt to create it. If the access key provided does not permit bucket creation then the `initremote` command will fail. The bucket will be created in the unchangeable region that the access key's account is pinned to, with **infinite versioning enabled** and **server-side encryption disabled**. Given that you're probably using some form of git-annex [[encryption]], and that files with server-side encryption enabled are not included in a server-side bucket-level snapshot, you may wish to leave the server-side encryption disabled.
* A dedicated special remote, <https://github.com/encryptio/git-annex-remote-b2>
(Last updated 2016)
At this time it's not clear which is better, so if you find one works
better than the other, please comment below.