I’d like to share my approach to running a storage node, which is to forget about Docker and its multi-megabyte downloads of random images with stuff I already have on my computer. Besides, I have better things to do with my time than figuring out how yet another tool which I don’t need works.
Thus, I simply build it from source, then start it manually / via systemd.
#!/bin/bash if [ $# = 0 ]; then echo "Usage: $0 v0.12.3 # current release!" >&2 ; exit 2; fi set -ex test -d storj || git clone email@example.com:storj/storj.git cd storj git checkout $1 go build -ldflags " -s -w -X storj.io/storj/internal/version.buildTimestamp=$(date +%s) -X storj.io/storj/internal/version.buildCommitHash=$(git rev-parse HEAD) -X storj.io/storj/internal/version.buildVersion=$(git describe --tags) -X storj.io/storj/internal/version.buildRelease=true" -o ../bin storj.io/storj/cmd/storagenode cd .. mv bin/storagenode /usr/local/bin systemctl restart storj-storage
Done. Works perfectly, no root necessary. The (dead simple) systemd unit for this simply starts
/usr/local/bin/storagenode run --config-dir /etc/storj/config and is left as an exercise for the esteemed reader, as is creating a configuration file (
storagenode setup is your friend) in