qoollo/bob

By qoollo

Updated over 1 year ago

Bob is a distributed storage system designed for byte data such as photos

Image
0

10K+

qoollo/bob repository overview

Bob

What is Bob?

Bob is a distributed storage system designed for byte data e.g. photos. It has decentralized architecture where each node can handle user calls.

Source code can be accessed at https://github.com/qoollo/bob/.

For current documentation, see https://github.com/qoollo/bob/wiki/.

Versions

Bob docker images are defined by two characteristic features:

  1. Size of the key. Image tags that contain key8 point to images working with 8 bytes keys, ones that contain key16 point to images working with 16 bytes keys. Images with unspecified key in tag work with 8 bytes keys.
  2. Linux distribution used by image. Image tags can contain alpine or ubuntu pointing to corresponding distributions. Images with unspecified distribution in tag work on Alpine Linux.

Following these rules, the latest tag points to the latest stable release (image works on Alpine Linux, with 8 bytes keys) and nightly tag points to the latest unstable release.

How to use this image

To start bob instance with docker use the following command:

docker run –d --ulimit nofile=262144:262144 -v CONFIG_DIR:/bob/configs -v DATA_DIR:/bob/data -v LOG_DIR:/bob/log qoollo/bob cluster.yaml node.yaml

--ulimit nofile parameter is highly recommended because Bob can work with a very large number of files, so it may require more open files than default value.

cluster.yaml node.yaml are configuration files names you can pass to launch Bob with given configurations. Default names are cluster.yaml and node.yaml.

Bob docker image exposes the following ports:

Bob docker image uses the following directories:

  • /bob/log for log files
  • /bob/data for data
  • /bob/configs for configs

You may need to mount these directories on your host filesystem directories using -v parameters as shown in the docker run command above.

Configuration details

Bob requires the following configuration files:

  • node.yaml – node configuration file. Example here, format description here
  • cluster.yaml – cluster configuration file. Example here, format description here
  • logger.yaml – logger configuration file. Example here

Tag summary

Content type

Image

Digest

sha256:84221fa80

Size

19.8 MB

Last updated

over 1 year ago

Requires Docker Desktop 4.37.1 or later.