Storage server for Oxen Service Nodes
Go to file
Jason Rhinelander afa245d215
Bump version to 2.3.0
Release candidate, for testing.  This may or may not end up as the final
2.3.0 release.
2022-05-10 17:11:59 -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 Update static dep versions 2022-05-10 17:11:58 -03:00
contrib Fix drone format script 2022-05-05 21:45:14 -03:00
external Update static dep versions 2022-05-10 17:11:58 -03:00
network-tests Allow extending expiry (up to TTL from now) 2022-05-10 16:08:21 -03:00
oxenss Adds ed25519 pubkey to oxend pings 2022-05-10 17:09:26 -03:00
unit_test Fix bug in namespace retrieval 2022-05-05 21:45:14 -03: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 Refactor code 2022-04-29 14:17:00 -03:00
.gitignore Ignore swapfiles and reject localhost binding 2019-07-25 13:12:44 +10:00
.gitmodules Rename vendors -> external 2022-04-29 14:17:01 -03:00
CMakeLists.txt Bump version to 2.3.0 2022-05-10 17:11:59 -03: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
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.