repertory/README.md
Scott E. Graves 8dd46b8ad8
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
v2.0.2-rc (#27)
## v2.0.2-rc

### BREAKING CHANGES

* Refactored `config.json` - will need to verify configuration settings prior to mounting

### Issues

* \#12 \[Unit Test\] Complete all providers unit tests
* \#14 \[Unit Test\] SQLite mini-ORM unit tests and cleanup
* \#16 Add support for bucket name in Sia provider
* \#17 Update to common c++ build system
  * A single 64-bit Linux Jenkins server is used to build all Linux and Windows versions
  * All dependency sources are now included
  * MSVC is no longer supported
  * MSYS2 is required for building Windows binaries on Windows
  * OS X support is temporarily disabled
* \#19 \[bug\] Rename file is broken for files that are existing
* \#23 \[bug\] Incorrect file size displayed while upload is pending
* \#24 RocksDB implementations should be transactional
* \#25 Writes should block when maximum cache size is reached
* \#26 Complete ring buffer and direct download support

### Changes from v2.0.1-rc

* Ability to choose between RocksDB and SQLite databases
* Added direct reads and implemented download fallback
* Corrected file times on S3 and Sia providers
* Corrected handling of `chown()` and `chmod()`
* Fixed erroneous download of chunks after resize

Reviewed-on: #27
2024-12-28 15:56:40 -06:00

5.0 KiB

Repertory

Repertory allows you to mount AWS S3 and Sia via FUSE on Linux /OS X or via WinFSP on Windows.

Details and Features

  • Optimized for Plex Media Server
  • Single application to mount AWS S3 and/or Sia
  • Remote mounting of Repertory instances on Linux , OS X and Windows
    • Securely share your mounts over TCP/IP (XChaCha20-Poly1305 stream cipher)
  • Cross-platform support (Linux 64-bit, Linux arm64/aarch64, OS X, Windows 64-bit)

Minimum Requirements

  • Sia renterd v0.4.0+ for Sia support
  • Only 64-bit operating systems are supported
    • By default, Linux requires fusermount3; otherwise, repertory must be manually compiled with libfuse2 support
    • OS X requires the following dependency to be installed:
    • Windows requires the following dependencies to be installed:

Supported Operating Systems

  • Linux arm64/aarch64
  • Linux amd64
  • OS X Mojave and above
  • Windows 64-bit 10, 11

Usage

Notable Options

  • -dc
    • Display mount configuration.
    • For Sia, --name is optional
    • For S3, the -s3 option is required along with --name
  • --help
    • Display all mount utility options.
  • --name, -na [name]
    • The --name option 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 --name option is not specified, default will be used.
    • For S3, the --name option is required and does not affect the bucket name.
  • -set SiaConfig.Bucket
    • Set Sia bucket name for the mount.
    • Can be used in combination with --name to target a unique configuration.
  • -set S3Config.Bucket
    • S3 bucket name for the mount.
    • Must be used in combination with --name to target a unique configuration.
    • Must be used in combination with -s3.

Sia

  • Linux
    • repertory /mnt/location
    • repertory --name default /mnt/location
  • Windows
    • repertory.exe t:
    • repertory.exe --name default t:

S3

  • Linux
    • repertory --name storj -s3 /mnt/location
  • Windows
    • repertory.exe --name storj -s3 t:

Compiling

  • Successful compilation will result in all required files being placed in the dist/ directory
  • Linux
    • Ensure docker is 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
      • For aarch64:
        • RelWithDebInfo: scripts/make_unix.sh aarch64
        • Release: scripts/make_unix.sh aarch64 Release
        • Debug: scripts/make_unix.sh aarch64 Debug
  • Windows
    • OFFICIAL: Cross-compiling on Linux
      • Ensure docker is installed
        • RelWithDebInfo: scripts/make_win32.sh
        • Release: scripts/make_win32.sh x86_64 Release
        • Debug: scripts/make_win32.sh x86_64 Debug
    • 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

Credits

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-----