2 Commits

Author SHA1 Message Date
280a8123ec updated README.md
Some checks reported errors
BlockStorage/repertory/pipeline/pr-master Something is wrong with the build of this commit
BlockStorage/repertory/pipeline/head This commit looks good
2025-02-10 14:07:46 -06:00
f3081f3930 updated build system 2025-02-10 12:50:46 -06:00
5 changed files with 71 additions and 17 deletions

View File

@ -140,10 +140,12 @@ libuuid
libuuid_include_dirs libuuid_include_dirs
libvlc libvlc
linkflags linkflags
localappdata
lptr lptr
lpwstr lpwstr
markdownlint markdownlint
mbig mbig
minio
msvc msvc
msvcr120 msvcr120
msys2 msys2
@ -200,6 +202,7 @@ stduuid_project
strequal strequal
ularge_integer ularge_integer
uring uring
url
userenv userenv
utimens_impl utimens_impl
utimensat utimensat

View File

@ -3,6 +3,10 @@ cmake_minimum_required(VERSION 3.27)
cmake_policy(SET CMP0135 NEW) cmake_policy(SET CMP0135 NEW)
cmake_policy(SET CMP0144 NEW) cmake_policy(SET CMP0144 NEW)
if (NOT PROJECT_INTERFACE)
message(FATAL_ERROR "Project must be compiled via 'make_win32.cmd'/'make_win32.sh' or 'make_unix.sh' build scripts. Invoking 'cmake' directly is not supported.")
endif()
project(${PROJECT_NAME} project(${PROJECT_NAME}
DESCRIPTION ${PROJECT_DESC} DESCRIPTION ${PROJECT_DESC}
HOMEPAGE_URL ${PROJECT_URL} HOMEPAGE_URL ${PROJECT_URL}
@ -158,6 +162,7 @@ endif()
-DPROJECT_FUSE=${PROJECT_FUSE} -DPROJECT_FUSE=${PROJECT_FUSE}
-DPROJECT_FUSE_INCLUDE_DIRS=${PROJECT_FUSE_INCLUDE_DIRS} -DPROJECT_FUSE_INCLUDE_DIRS=${PROJECT_FUSE_INCLUDE_DIRS}
-DPROJECT_GIT_REV=${PROJECT_GIT_REV} -DPROJECT_GIT_REV=${PROJECT_GIT_REV}
-DPROJECT_INTERFACE=1
-DPROJECT_IS_ALPINE=${PROJECT_IS_ALPINE} -DPROJECT_IS_ALPINE=${PROJECT_IS_ALPINE}
-DPROJECT_IS_ARM64=${PROJECT_IS_ARM64} -DPROJECT_IS_ARM64=${PROJECT_IS_ARM64}
-DPROJECT_IS_MINGW=${PROJECT_IS_MINGW} -DPROJECT_IS_MINGW=${PROJECT_IS_MINGW}

View File

@ -8,7 +8,7 @@ on Windows.
* Optimized for [Plex Media Server](https://www.plex.tv/) * Optimized for [Plex Media Server](https://www.plex.tv/)
* Single application to mount AWS S3 and/or Sia * Single application to mount AWS S3 and/or Sia
* Remote mounting of Repertory instances on Linux ~~, OS X~~ and Windows * Remote mounting of Repertory instances on Linux ~~, OS X~~ and Windows
* Securely share your mounts over TCP/IP (`XChaCha20-Poly1305` stream cipher) * Securely share your mounts over TCP/IP (`XChaCha20-Poly1305` stream cipher) with other systems on your network or the internet.
* Cross-platform support (Linux 64-bit, Linux arm64/aarch64, ~~OS X,~~ Windows 64-bit) * Cross-platform support (Linux 64-bit, Linux arm64/aarch64, ~~OS X,~~ Windows 64-bit)
## Minimum Requirements ## Minimum Requirements
@ -44,28 +44,73 @@ on Windows.
* If the `--name` option is not specified, `default` will be used. * 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. * For S3, the `--name` option is required and does not affect the bucket name.
* `-set SiaConfig.Bucket` * `-set SiaConfig.Bucket`
* Set Sia bucket name for the mount. * Sets the Sia bucket name to mount.
* Can be used in combination with `--name` to target a unique configuration. * Can be used in combination with `--name` to target a unique configuration.
* `-set S3Config.Bucket` * `-set S3Config.Bucket`
* S3 bucket name for the mount. * Sets the S3 bucket name to mount.
* Must be used in combination with `--name` to target a unique configuration. * Must be used in combination with `--name` to target a unique configuration.
* Must be used in combination with `-s3`. * Must be used in combination with `-s3`.
### Sia ### Data Directories
* Linux * Linux
* `~/.local/repertory2`
* Windows
* `%LOCALAPPDATA%\repertory2`
* i.e. `C:\\Users\\Tom\\AppData\\Local\\repertory2`
### Sia
* Initial Configuration
* Sia steps:
* Set the appropriate bucket name and `renterd` API password in `repertory` configuration:
* To use `default` as the bucket name and configuration name:
* `repertory -set HostConfig.ApiPassword '<my password>'`
* To use a different bucket name with `default` as 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 verify all configuration options:
* `repertory -dc` or `repertory --name '<my config name>' -dc`
* Mounting on Linux:
* `repertory /mnt/location` * `repertory /mnt/location`
* `repertory --name default /mnt/location` * `repertory --name default /mnt/location`
* Windows * Mounting on Windows:
* `repertory.exe t:` * `repertory t:`
* `repertory.exe --name default t:` * `repertory --name default t:`
### S3 ### S3
* Linux * Initial Configuration
* `repertory --name storj -s3 /mnt/location` * S3 steps:
* Windows * Set the appropriate bucket name:
* `repertory.exe --name storj -s3 t:` * `repertory --name '<my config name>' -set S3Config.Bucket '<my bucket name>'`
* Set the appropriate base URL:
* `repertory --name '<my config name>' -set S3Config.URL '<my url>'`
* i.e. `repertory --name minio -set S3Config.URL 'http://localhost:9000'`
* Set the appropriate access key:
* `repertory --name '<my config name>' -set S3Config.AccessKey '<my access key>'`
* Set the appropriate secret key:
* `repertory --name '<my config name>' -set S3Config.SecretKey '<my secret key>'`
* For Sia and most local S3 gateway instances, enable path style URL's:
* `repertory --name '<my config name>' -set S3Config.UsePathStyle true`
* Optionally, set the appropriate region. Default is set to `any`:
* `repertory --name '<my config name>' -set S3Config.Region '<my region>'`
* Optionally, to enable encrypted file names and file data, set a strong, random encryption token:
* `repertory --name '<my config name>' -set S3Config.EncryptionToken '<my strong password>'`
* To verify all configuration options:
* `repertory -dc` or `repertory --name '<my config nam>' -dc`
* Mounting on Linux:
* `repertory -s3 --name '<my config name>' /mnt/location`
* Mounting on Windows:
* `repertory -s3 --name '<my config name>' t:`
## 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 ## Compiling

View File

@ -1,15 +1,15 @@
set(BINUTILS_VERSION 2.43) set(BINUTILS_VERSION 2.43)
set(BOOST2_MAJOR_VERSION 1)
set(BOOST2_MINOR_VERSION 76)
set(BOOST2_PATCH_VERSION 0)
set(BOOST_MAJOR_VERSION 1) set(BOOST_MAJOR_VERSION 1)
set(BOOST_MINOR_VERSION 87) set(BOOST_MINOR_VERSION 87)
set(BOOST_PATCH_VERSION 0) set(BOOST_PATCH_VERSION 0)
set(BOOST2_MAJOR_VERSION 1)
set(BOOST2_MINOR_VERSION 76)
set(BOOST2_PATCH_VERSION 0)
set(CPP_HTTPLIB_VERSION 0.18.1) set(CPP_HTTPLIB_VERSION 0.18.1)
set(CURL2_VERSION 8_11_0)
set(CURL_VERSION 8.11.0) set(CURL_VERSION 8.11.0)
set(EXPAT2_VERSION 2_6_4) set(CURL2_VERSION 8_11_0)
set(EXPAT_VERSION 2.6.4) set(EXPAT_VERSION 2.6.4)
set(EXPAT2_VERSION 2_6_4)
set(GCC_VERSION 14.2.0) set(GCC_VERSION 14.2.0)
set(GTEST_VERSION 1.15.2) set(GTEST_VERSION 1.15.2)
set(ICU_VERSION 76-1) set(ICU_VERSION 76-1)
@ -22,7 +22,7 @@ set(PKG_CONFIG_VERSION 0.29.2)
set(PUGIXML_VERSION 1.14) set(PUGIXML_VERSION 1.14)
set(ROCKSDB_VERSION 9.7.4) set(ROCKSDB_VERSION 9.7.4)
set(SPDLOG_VERSION 1.15.0) set(SPDLOG_VERSION 1.15.0)
set(SQLITE2_VERSION 3.46.1)
set(SQLITE_VERSION 3460100) set(SQLITE_VERSION 3460100)
set(SQLITE2_VERSION 3.46.1)
set(STDUUID_VERSION 1.2.3) set(STDUUID_VERSION 1.2.3)
set(ZLIB_VERSION 1.3.1) set(ZLIB_VERSION 1.3.1)

View File

@ -23,6 +23,7 @@ cmake "${PROJECT_SOURCE_DIR}" \
-DPROJECT_COMPANY_NAME="${PROJECT_COMPANY_NAME}" \ -DPROJECT_COMPANY_NAME="${PROJECT_COMPANY_NAME}" \
-DPROJECT_COPYRIGHT="${PROJECT_COPYRIGHT}" \ -DPROJECT_COPYRIGHT="${PROJECT_COPYRIGHT}" \
-DPROJECT_DESC="${PROJECT_DESC}" \ -DPROJECT_DESC="${PROJECT_DESC}" \
-DPROJECT_INTERFACE=1 \
-DPROJECT_URL="${PROJECT_URL}" \ -DPROJECT_URL="${PROJECT_URL}" \
${PROJECT_CMAKE_OPTS} || exit 1 ${PROJECT_CMAKE_OPTS} || exit 1