An open API service indexing awesome lists of open source software.

https://github.com/oxen-io/oxen-storage-server

Storage server for Oxen Service Nodes
https://github.com/oxen-io/oxen-storage-server

distributed http-server service-node storage swarms

Last synced: about 2 months ago
JSON representation

Storage server for Oxen Service Nodes

Awesome Lists containing this project

README

        

# 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 `-D BUILD_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
cmake -B build -S .. -D CMAKE_BUILD_TYPE=Release -G Ninja
cmake --build build --parallel
```

The build will produce a `./build/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.