Storage server for Oxen Service Nodes
Find a file
Jason Rhinelander 0dada891a6
Bump oxen-mq to latest release
Fixes an issue with recent macos not liking oxenmq's RNG code.
2023-07-17 13:54:02 -03:00
.github/ISSUE_TEMPLATE Update issue templates 2019-04-17 13:46:28 +10:00
.vscode check the difficulty every 10 mins 2019-06-06 17:13:17 +10:00
cmake Fix openssl build flags 2023-01-17 19:59:17 -04:00
contrib Fix macos static lib detection 2023-01-24 12:05:25 -04:00
external Bump oxen-mq to latest release 2023-07-17 13:54:02 -03:00
network-tests Merge pull request #468 from jagerman/fix-store-sig_ts 2023-01-17 19:02:15 -04:00
oxenss Fix comment about the hash in use 2023-04-21 18:29:40 -03:00
unit_test Fix more typos 2023-02-16 00:23:30 +01:00
.clang-format Implement message namespaces 2022-04-27 12:25:19 -03:00
.dockerignore docker support 2019-04-26 10:35:05 +00:00
.drone.jsonnet Bump clang-format to 14 2023-01-13 21:27:39 -04:00
.gitignore Ignore swapfiles and reject localhost binding 2019-07-25 13:12:44 +10:00
.gitmodules Remove now-unused spdlog submodule 2022-07-22 15:22:20 -03:00
CMakeLists.txt Version bump 2023-01-17 19:02:34 -04:00
LICENSE Add MIT license 2018-11-16 02:04:02 +11:00
mock_lokid.py Always strip the 05 from start of client request pubkeys 2019-03-28 15:33:41 +11:00
pyproject.toml Add testnet network tests for monitoring endpoint 2022-08-11 22:48:13 -03:00
README.md Rewite the README 2022-03-29 18:45:13 -03:00

Oxen Storage Server

Storage server for Oxen Service Nodes

Binary releases

Pre-built releases (with system service files) are available for Ubuntu/Debian on https://deb.oxen.io and are recommended for simple deployment and updates on those distributions.

Building from source

The default build compiles for the current system and requires the following be installed (including headers/dev packages for the libraries):

Requirements:

  • cmake >= 3.10
  • OpenSSL >= 1.1.1
  • libsodium >= 1.0.17
  • pkg-config (any version)
  • libcurl
  • jemalloc (not strictly required but recommended for reduced long-term memory use)
  • autoconf (for building jemalloc)

Other dependencies will be used from the system if found, but if not found will be compiled and built statically from bundled versions:

  • spdlog >= 1.8
  • libzmq >= 4.3
  • oxen-mq >= 1.2.6
  • oxen-encoding >= 1.0.1
  • sqlite >= 3.35.5

You can, however, instruct the build to download and build static versions of all of these dependencies (other than autoconf) as part of the build by adding the -DBUILD_STATIC_DEPS=ON option to the cmake command below. (This will, however, result in a slower build and larger, slower binary, as is typical for static builds).

git submodule update --init --recursive
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j4

The build will produce a ./build/httpserver/oxen-storage binary. You can run it with --help to see supported run-time options.

Running

Oxen Storage Server is a required component of an Oxen Service Node and needs to talk to a running oxend in order to join the network. The program defaults are designed to work with a default oxend, but for advanced configurations (e.g. to run on different ports) you may need to use other options. Run the program with --help to see all available options.

See https://docs.oxen.io/ for additional details on setting up and running an Oxen Service Node.