git-annex
branchable.com · 4 records in Storage · JSON
Records 4
- self-hosted, last resortgit-annex rclone special remote (built into annex since 2023)
Storageverdict qualifiesfree tieridentity institution?card?limit per-ip-shapingevidence reportedstale on 2026-11-05
- self-hosted, last resortgit-annex S3 special remote (backend-agnostic)
Storageverdict qualifiesfree tieridentity email?card?evidence reportedstale on 2026-11-05
- self-hosted, last resortgit-annex git-lfs special remote (annex over any LFS host)
Storageverdict qualifies-with-caveatfree tieridentity email?card?evidence reportedstale on 2026-11-05
- self-hosted, last resortgit-annex bup / ddar special remotes
Storageverdict fails-quotaidentity email?card?evidence reportedstale on 2026-11-05
- Free allowance
- The docs' own list (still current) names Drive, OneDrive, Dropbox, Mega, pCloud, Box, Yandex, Jottacloud, WebDAV, FTP, SFTP, Swift, B2, S3.
- Verdict
- self-hosted, last resortverdict qualifies: usable as stated; the read path was probed. Self-hosted options are listed last, because this site is for users who have no hardware.
- Cost
- free tier
- Identity
- institution?placeholder, not evidence; card unknown, phone unknown
- Binding limit
- per-ip-shaping750 GB/day
- Evidence
- reported3 sources; a third party said so
- Freshness
- stale on 2026-11-05checked 2026-10-21 (inherited); stale on 2026-11-05
| Free tier | The docs' own list (still current) names Drive, OneDrive, Dropbox, Mega, pCloud, Box, Yandex, Jottacloud, WebDAV, FTP, SFTP, Swift, B2, S3. unit mixed; metered on unstated |
|---|---|
| Price | none stated |
| Limits |
Per-backend: file size caps, per-day upload quotas, API rate limits all apply unchanged. rclone's Drive backend has its own 750 GB/day upload cap; OneDrive throttles. Encrypted annex remotes lose rclone's server-side dedupe. |
| Identity | institution (inferred, not read) not published |
| Egress | Rclone throttles/retries but does not pay for egress. |
| Per-object cap | not stated |
| Retention | not stated |
| Interface | rest, git, rclone rest |
| Tooling | Two paths: (a) git annex initremote type=rclone ... — native, no extra install, documented via rclone gitannex -h; (b) the older git-annex-remote-rclone bash script (DanielDent, ~300 lines). rclone itself is a single static binary. |
| Composes with | The strongest multiplier: annex gives you versioning + hash verification + partial clone, rclone gives you ~70 free-tier backends. One annex repo can have a dozen rclone remotes across a dozen free accounts of different providers, with git annex copy --to fanning out. This is literally the 'google-drive-service-account' pattern applied to large-file versioning. |
| Reliability | Solid; the native remote removed the bash-script dependency. The failure mode is per-backend token expiry and drive-level rate limiting, which rclone surfaces as retries rather than data loss. |
| Parsed numbers |
|
Evidence 3
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | git-annex.branchable.com/special_remotes/rclone/ | 'With a recent version of rclone and git-annex, it is not necessary to install anything else, just use git-annex initremote type=rclone ...' |
| 2026-10-21 | rclone.org/commands/rclone_gitannex/ | the gitannex bridge command exists in rclone proper |
| 2026-10-21 | rclone.org/overview/ | backend feature matrix (Internet Archive, Drive, OneDrive, Box, Mega, WebDAV, SFTP, S3 all Tier 1-3 with R/W) |
Unknown values 4
- per object cap notes: the field may be stated in a source that was not read
- per object cap stated: the field may be stated in a source that was not read
- retention notes: the field may be stated in a source that was not read
- retention stated: the field may be stated in a source that was not read
- Free allowance
- N/A by itself — inherits whatever S3-compatible store you point it at.
- Verdict
- self-hosted, last resortverdict qualifies: usable as stated; the read path was probed. Self-hosted options are listed last, because this site is for users who have no hardware.
- Cost
- free tier
- Identity
- email?placeholder, not evidence; card unknown, phone unknown
- Binding limit
- noneno named constraint binds
- Evidence
- reported4 sources; a third party said so
- Freshness
- stale on 2026-11-05checked 2026-10-21 (inherited); stale on 2026-11-05
| Free tier | N/A by itself — inherits whatever S3-compatible store you point it at. This is the multiplier: any free S3 endpoint (Internet Archive s3.us.archive.org, HF s3.hf.co, Oracle/Cloudflare-adjacent object tiers, MinIO on a free VM) becomes a versioned large-file store with git-annex's own manifest. unit mixed; metered on stored-bytes |
|---|---|
| Price | none stated |
| Identity | email (placeholder) not published |
| Egress | Two client options matter: publicurl= lets downloads skip the S3 API entirely (bucket policy + plain HTTP GET, hence cacheable/CDN-able), and signature=anonymous allows read-only public access with no credentials at all. |
| Per-object cap | not stated |
| Retention | not stated |
| Interface | s3, git part of the text of Free tier, above |
| Tooling | git-annex (Haskell, standalone Linux/macOS builds, ~1.5k stars on the mirror). Config via git annex initremote type=S3 host=... bucket=... requeststyle=path. Internet Archive has a documented special mode (host=s3.us.archive.org) where git-annex writes x-archive-meta-* headers and records the public URL, so every annexed file is also fetchable from archive.org with no login. |
| Composes with | One special remote per bucket; fileprefix= lets many remotes share one bucket. The allowance is per account, so each free S3 account adds one bucket. Because git-annex keys content by hash, the S3 side is a dumb blob store. A client can shard the same dataset across several free stores, and git-annex tracks which copy is where (git annex whereis). Chunking (chunk=1MiB) avoids per-object size caps on the backing store. |
| Reliability | Mature and boring — the special remote has existed for over a decade. Failure mode is backend-side (IA's S3 endpoint was unreachable: connect timeout on s3.us.archive.org:443, and archive.org/help/abouts3.txt returned 522 through the proxy), not annex-side. |
| Parsed numbers |
|
Evidence 4
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | git-annex.branchable.com/special_remotes/S3/ | full parameter list including host, requeststyle=path, publicurl, signature=anonymous, chunk, fileprefix |
| 2026-10-21 | git-annex.branchable.com/tips/Internet_Archive_via_S3/ | 'git annex initremote archive type=S3 protocol=https host=s3.us.archive.org bucket=...' with x-archive-meta headers |
| 2026-10-21 | git-annex.branchable.com/special_remotes/ | built-in list: S3, rclone, webdav, rsync, directory, bup, ddar, git-lfs, httpalso, gcrypt |
| 2026-10-21 | source not published | probe: TCP connect to s3.us.archive.org:443 -> timeout after 21s (backend flaky, tooling fine) |
Unknown values 4
- per object cap notes: the field may be stated in a source that was not read
- per object cap stated: the field may be stated in a source that was not read
- retention notes: the field may be stated in a source that was not read
- retention stated: the field may be stated in a source that was not read
- Free allowance
- N/A — a protocol adapter.
- Verdict
- self-hosted, last resortverdict qualifies-with-caveat: usable, with a named limit or an unprobed read path. Self-hosted options are listed last, because this site is for users who have no hardware.
- Cost
- free tier
- Identity
- email?placeholder, not evidence; card unknown, phone unknown
- Binding limit
- noneno named constraint binds
- Evidence
- reported2 sources; a third party said so
- Freshness
- stale on 2026-11-05checked 2026-10-21 (inherited); stale on 2026-11-05
| Free tier | N/A — a protocol adapter. Turns ANY git-lfs server (GitHub, GitLab, Bitbucket, a self-hosted Gitea) into an annex special remote, so the LFS host's quota applies but annex adds hash-verified partial clone and whereis across mirrors.unit mixed; metered on unstated |
|---|---|
| Price | none stated |
| Identity | email (placeholder) not published |
| Egress | not published |
| Per-object cap | not stated |
| Retention | | Cannot delete = every mistake is permanent on the LFS side, and the host's month-storage accounting (GitHub) means you keep paying for it in quota |
| Interface | git part of the text of Free tier, above |
| Tooling | git annex initremote lfstest type=git-lfs url=... encryption=shared. Supports gcrypt:: URL prefix for encrypting the git side too. |
| Composes with | Because annex can hold the same content on several LFS remotes, you can stack the 10 GiB/project GitLab allowance and the 10 GiB GitHub allowance as tiers of one logical dataset, with annex tracking which objects live where. Sharding a 1 TiB corpus across 100 GitLab projects becomes a git annex copy --to loop. |
| Reliability | Cannot delete = every mistake is permanent on the LFS side, and the host's month-storage accounting (GitHub) means you keep paying for it in quota. No batching + per-object request = the exact workload LFS rate limits are designed to stop. |
| Parsed numbers |
|
Evidence 2
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | git-annex.branchable.com/special_remotes/git-lfs/ | limitations section quoted above |
| 2026-10-21 | git-annex.branchable.com/special_remotes/git-lfs/ | example: 'git annex initremote lfstest type=git-lfs url=gcrypt::[address removed]:username/somerepo.git encryption=shared' |
Unknown values 4
- egress metered: egress metering was not published
- per object cap notes: the field may be stated in a source that was not read
- per object cap stated: the field may be stated in a source that was not read
- retention notes: the field may be stated in a source that was not read
- Free allowance
- Both dedupe into a repository you must host yourself and both need full shell access (bup: 'git-annex-shell does not support bup ... you need full shell access to the server').
- Verdict
- self-hosted, last resortverdict fails-quota: the free allowance is too small to matter. Self-hosted options are listed last, because this site is for users who have no hardware.
- Cost
- not stated
- Identity
- email?placeholder, not evidence; card unknown, phone unknown
- Binding limit
- noneno named constraint binds
- Evidence
- reported2 sources; a third party said so
- Freshness
- stale on 2026-11-05checked 2026-10-21 (inherited); stale on 2026-11-05
| Free tier | Both dedupe into a repository you must host yourself and both need full shell access (bup: 'git-annex-shell does not support bup ... you need full shell access to the server'). No hosted… unit none; metered on none |
|---|---|
| Price | none stated |
| Identity | email (placeholder) not published |
| Egress | not recorded |
| Interface | unknown |
| Tooling | not recorded |
Evidence 2
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | git-annex.branchable.com/special_remotes/bup/ | the text of Free tier, above |
| 2026-10-21 | git-annex.branchable.com/special_remotes/ddar/ | cited as the basis of the rejection: Both dedupe into a repository you must host yourself and both need full shell access (bup: 'git-annex-shell does not support bup ... you need full shell access to the server'). No hosted fre |
More fields 1
| dead end | {"failure_class": "quota","why": "Both dedupe into a repository you must host yourself and both need full shell access (bup: 'git-annex-shell does not support bup ... you need full shell access to the server'). No hosted…","retry_when": null,"first_recorded": "2026-10-21"} |
|---|
Unknown values 7
- chaining: no value was recorded for this field
- egress terms: no value was recorded for this field
- interface: the access interface was not established
- per object cap notes: no value was recorded for this field
- per object cap stated: no value was recorded for this field
- retention stated: no value was recorded for this field
- tooling: no value was recorded for this field