521874a56fe4a054e68bde052b9db2b931defd79
				
			
			
		
	
		
			All checks were successful
		
		
	
	BlockStorage/repertory/pipeline/head This commit looks good
				
			Repertory
Repertory allows you to mount S3 and Sia via FUSE on Linux or via WinFSP on Windows.
Details and Features
- Optimized for Plex Media Server
- Single application to mount S3 and/or Sia
- Remote mounting of Repertory instances on Linux and Windows
- Securely share your mounts over TCP/IP via XChaCha20-Poly1305with other systems on your network or over the internet.
 
- Securely share your mounts over TCP/IP via 
- Cross-platform support (Linux 64-bit, Linux arm64/aarch64, Windows 64-bit)
- Optionally encrypt file names and file data via XChaCha20-Poly1305in S3 mounts
Minimum Requirements
- Sia renterd v2.0.0+ for Sia support
- Only 64-bit operating systems are supported
- By default, Linux requires fusermount3; otherwise,repertorymust be manually compiled withlibfuse2support
- Windows requires the following dependencies to be installed:
 
- By default, Linux requires 
Supported Operating Systems
- Linux arm64/aarch64
- Linux amd64
- Windows 64-bit 10, 11
Usage
Sia
Initial Configuration
- 
Required steps: - Set the appropriate bucket name and renterdAPI password inrepertoryconfiguration:- To use defaultas the bucket name and configuration name, you only need to set therenterdAPI password:- repertory -set HostConfig.ApiPassword '<my password>'
 
- To specify a different bucket name while using defaultas the configuration name:- repertory -set HostConfig.ApiPassword '<my password>'
- repertory -set SiaConfig.Bucket '<my bucket>'
 
- For all other configurations:
- repertory --name '<my config name>' -set HostConfig.ApiPassword '<my password>'
- repertory --name '<my config name>' -set SiaConfig.Bucket '<my bucket name>'
 
 
- To use 
 
- Set the appropriate bucket name and 
- 
Optional steps: - Set a custom user name used for basic authentication:
- repertory -set HostConfig.ApiUser '<my user>'
- repertory --name '<my config name>' -set HostConfig.ApiUser '<my user>'
 
- Set the renterdAPI port to a value other than9980:- repertory -set HostConfig.ApiPort 9981
- repertory --name '<my config name>' -set HostConfig.ApiPort 9981
 
- Set a custom agent string:
- repertory -set HostConfig.AgentString '<my agent>'
- repertory --name '<my config name>' -set HostConfig.AgentString '<my agent>'
 
 
- Set a custom user name used for basic authentication:
- 
To verify/view all configuration options: - repertory -dc
- repertory --name '<my config name>' -dc- Example:
- repertory --name default -dc
 
 
- Example:
 
Mounting
- 
Linux: - repertory /mnt/location
- repertory --name '<my config name>' /mnt/location- Example:
- repertory --name default /mnt/location
 
 
- Example:
 
- 
Windows: - repertory t:
- repertory --name '<my config name>' t:- Example:
- repertory --name default t:
 
 
- Example:
 
S3
Initial Configuration
- 
Required steps: - Set the appropriate base URL:
- repertory -s3 --name '<my config name>' -set S3Config.URL '<my url>'- Example:
- repertory -s3 --name minio -set S3Config.URL 'http://localhost:9000'
 
 
- Example:
 
- Set the appropriate bucket name:
- repertory -s3 --name '<my config name>' -set S3Config.Bucket '<my bucket name>'
 
- Set the appropriate access key:
- repertory -s3 --name '<my config name>' -set S3Config.AccessKey '<my access key>'
 
- Set the appropriate secret key:
- repertory -s3 --name '<my config name>' -set S3Config.SecretKey '<my secret key>'
 
- For Sia and most local S3 gateway instances, enable path style URL's:
- repertory -s3 --name '<my config name>' -set S3Config.UsePathStyle true
 
 
- Set the appropriate base URL:
- 
Optional steps: - Set an appropriate region. Default is set to any:- repertory -s3 --name '<my config name>' -set S3Config.Region '<my region>'
 
- Enable encrypted file names and file data. Set a strong, random encryption token and be sure to store it in a secure backup location:
- repertory -s3 --name '<my config name>' -set S3Config.EncryptionToken '<my strong password>'
 
 
- Set an appropriate region. Default is set to 
- 
To verify/view all configuration options: - repertory -s3 --name '<my config name>' -dc- Example:
- repertory -s3 --name minio -dc
 
 
- Example:
 
Mounting
- 
Linux: - repertory -s3 --name '<my config name>' /mnt/location- Example:
- repertory -s3 --name minio /mnt/location
 
 
- Example:
 
- 
Windows: - repertory -s3 --name '<my config name>' t:- Example:
- repertory -s3 --name minio t:
 
 
- Example:
 
Common Options
- 
--help- Display all mount utility options
 
- 
-f- Keep process in foreground on Linux.
 
- 
--name, -na [name]- The --nameoption can be set to any valid value allowed as a file name for your filesystem.
- For Sia, the bucket name will be set to the same value if it is empty in the configuration file.
- If the --nameoption is not specified,defaultwill be used.
 
- If the 
- For S3, the --nameoption is required and does not affect the bucket name.
 
- The 
- 
-dc- Display mount configuration
- For Sia, --nameis optional
- For S3, the -s3option is required along with--name
 
Data Directories
Linux
- ~/.local/repertory2
Windows
- %LOCALAPPDATA%\repertory2- Example:
- C:\Users\Tom\AppData\Local\repertory2
 
- IMPORTANT:
- It is highly recommended to exclude this folder from any anti-virus/anti-malware applications as severe performance issues may arise.
- Excluding the mounted drive letter is also highly recommended.
 
 
- Example:
Remote Mounting
Repertory allows local mounts to be shared with other computers on your network.
This option is referred to as remote mounting. Instructions TBD.
Compiling
Successful compilation will result in all files required for execution to be placed
in the dist/ directory
Linux
- Ensure dockeris installed- 
For x86_64: - RelWithDebInfo: scripts/make_unix.sh
- Release: scripts/make_unix.sh x86_64 Release
- Debug: scripts/make_unix.sh x86_64 Debug
 
- RelWithDebInfo: 
- 
For aarch64: - RelWithDebInfo: scripts/make_unix.sh aarch64
- Release: scripts/make_unix.sh aarch64 Release
- Debug: scripts/make_unix.sh aarch64 Debug
 
- RelWithDebInfo: 
 
- 
Windows
- 
OFFICIAL: Cross-compiling on Linux - Ensure dockeris installed- RelWithDebInfo: scripts/make_win32.sh
- Release: scripts/make_win32.sh x86_64 Release
- Debug: scripts/make_win32.sh x86_64 Debug
 
- RelWithDebInfo: 
 
- Ensure 
- 
UNOFFICIAL: Compiling on Windows - Ensure latest MSYS2 is installed
- RelWithDebInfo: scripts\make_win32.cmd
- Release: scripts\make_win32.cmd x86_64 Release
- Debug: scripts\make_win32.cmd x86_64 Debug
 
- RelWithDebInfo: 
 
- Ensure latest MSYS2 is installed
Credits
- binutils
- boost c++ libraries
- cpp-httplib
- curl
- docker
- Google Test
- ICU
- JSON for Modern C++
- libexpat
- libfuse
- libsodium
- mingw-w64
- MSYS2
- OpenSSL
- pkg-config
- pugixml
- RocksDB
- ScPrime
- Sia Decentralized Cloud Storage
- spdlog
- SQLite
- stduuid
- Storj
- WinFSP - FUSE for Windows
- zlib
Developer Public Key
-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqXedleDOugdk9sBpgFOA
0+MogIbBF7+iXIIHv8CRBbrrf8nxLSgQvbHQIP0EklebDgLZRgyGI3SSQYj7D957
uNf1//dpkELNzfuezgAyFer9+iH4Svq46HADp5k+ugaK0mMDZM7OLOgo7415/+z4
NIQopv8prMFdxkShr4e4dpR+S6LYMYMVjsi1gnYWaZJMWgzeZouXFSscS1/XDXSE
vr1Jfqme+RmB4Q2QqGcDrY2ijumCJYJzQqlwG6liJ4FNg0U3POTCQDhQmuUoEJe0
/dyiWlo48WQbBu6gUDHbTCCUSZPs2Lc9l65MqOCpX76+VXPYetZgqpMF4GVzb2y9
kETxFNpiMYBlOBZk0I1G33wqVmw46MI5IZMQ2z2F8Mzt1hByUNTgup2IQELCv1a5
a2ACs2TBRuAy1REeHhjLgiA/MpoGX7TpoHCGyo8jBChJVpP9ZHltKoChwDC+bIyx
rgYH3jYDkl2FFuAUJ8zAZl8U1kjqZb9HGq9ootMk34Dbo3IVkc2azB2orEP9F8QV
KxvZZDA9FAFEthSiNf5soJ6mZGLi0es5EWPoKMUEd9tG5bP980DySAWSSRK0AOfE
QShT/z7oG79Orxyomwrb8ZJCi7wEfcCuK1NWgqLVUgXhpi2J9WYS6DAbF3Oh3Hhl
DYSHlcfFBteqNDlR2uFInIECAwEAAQ==
-----END PUBLIC KEY-----
Description
				Repertory allows you to mount AWS S3 and Sia via FUSE on Linux/macOS or via WinFSP on Windows.
						
						
						
								v2.0.7-release
								
	Latest
							
						
					Languages
				
				
								
								
									C++
								
								91.9%
							
						
							
								
								
									Dart
								
								4.6%
							
						
							
								
								
									Shell
								
								2.1%
							
						
							
								
								
									CMake
								
								1.3%