Server application

Release Dockerhub MicroBadger


Server application provides a data storage service based on the threshold secret sharing scheme. The server application is based on gRPC, and you can find the service definition in here.



The server application takes three flags,

  • --port: the port number the server will listen,
  • --root: the document root path to store uploaded shares,
  • --no-compress: if set, all shares will be stored without compression.

If those flags are omitted, default values are used. Thus, you can start a server by just run cgss-server.

Docker support

A docker image to run the server, itslabq/cgss, is also available.


Containers based on this image expose port 13009 and store uploaded shares into /data. The following command runs a container with mapping local port 13009 and $(pwd)/data to the container’s port 13009 and /data:

$ docker run -it -p 13009:13009 -v $(pwd)/data:/data itslabq/cgss


Compiled binaries of the server application cgss-server are available on Github. To use these binaries, after downloading a binary to your environment, decompress and put it in a directory included in your $PATH.

You can also compile by yourself. First, you need to download the code base:

$ git clone $GOPATH/src/itslab-kyushu/cgss

Then, build server command cgss-server:

$ cd $GOPATH/src/itslab-kyushu/cgss/server
$ go get -d -t -v .
$ go build -o cgss-server

To build it, Go > 1.7.4 is required.