-
Notifications
You must be signed in to change notification settings - Fork 1
Providers
Scott E. Graves edited this page Oct 16, 2025
·
1 revision
repertory currently supports four backend provider types:
- S3 Provider
- Sia Provider
- Remote Mount Provider
- Encrypt Provider (Work-in-Progress β use with caution)
Each provider can be mounted on Linux (FUSE), macOS (macFUSE), and Windows (WinFSP).
- Implements the AWS S3 HTTP REST API via
libcurl. - Requires:
-
S3Config.AccessKey- your access key -
S3Config.SecretKey- your secret key -
S3Config.Bucket- target bucket name
-
- Supports both path-style and virtual-hosted-style addressing, controlled via
S3Config.UsePathStyle. - Optional transparent encryption (file/directory names + content) using
XChaCha20-Poly1305:- Enabled with
S3Config.EncryptionTokeninconfig.json - Note: files remain unencrypted locally; encryption happens during transfer.
- Enabled with
- Uses the renterd HTTP REST API via
libcurl - Configuration is handled within the SiaConfig and HostConfig sections of
config.json
Connects to a different machine running Repertory and exposes its active mount locally. This is a client that talks to a Repertory server which has remote mounting enabled.
-
Server side: an existing S3 or Sia mount is configured to allow remote access via the
RemoteMountsection of its config. -
Client side: you mount using
-rm host:port, and the client forwards file operations over a secure packet channel with a shared EncryptionToken.
-
Server (on the original S3/Sia mount) β
RemoteMountsection-
RemoteMount.Enableβtrueto expose the mount. -
RemoteMount.ApiPortβ listening port for remote clients. -
RemoteMount.ClientPoolSizeβ size of server's client pool. (default 20) -
RemoteMount.EncryptionTokenβ shared secret; must match the client's token.
-
-
Client β
RemoteConfigsection-
RemoteConfig.HostNameOrIpβ server address. -
RemoteConfig.ApiPortβ server remote API port. -
RemoteConfig.EncryptionTokenβ same value as the server. -
RemoteConfig.MaxConnectionsβ max concurrent connections. (default 20) -
RemoteConfig.ReceiveTimeoutMsβ receive timeout in ms. (default 120000) -
RemoteConfig.SendTimeoutMsβ send timeout in ms. (default 30000)
-
Default Remote API ports (from source):
| Provider | Default Remote API Port |
|---|---|
| Sia | 20000 |
| Remote | 20010 |
| S3 | 20100 |
| Encrypt | 20001 |
- Acts as a local pass-through provider - configure it to use any existing folder on your file system and it will transparently encrypt file/directory names and file data using
XChaCha20-Poly1305. - Important: There is currently no decryption provider. Data encrypted this way cannot be decrypted by Repertory; additional support is planned for future versions.
| Provider | Best For |
|---|---|
| S3 Provider | Using standard S3-compatible storage (e.g., AWS S3, MinIO, etc.), with optional encryption at transfer time |
| Sia Provider | Mounting Sia buckets with renterd
|
| Remote Mount | Mount a Repertory instance running elsewhere (LAN/WAN). |
| Encrypt Provider | Locally encrypting data before uploading elsewhere β but be mindful of irreversible encryption . intended to add a layer of security when using online backup platforms, for instance. |
For exhaustive option names and examples, see Configuration-File-Options and CLI Usage.