#!/bin/sh user=$(whoami) repo="$IPFS_PATH" # Test whether the mounted directory is writable for us if [ ! -w "$repo" 2>/dev/null ]; then echo "error: $repo is not writable for user $user (uid=$(id -u $user))" exit 1 fi ipfs version if [ -e "$repo/config" ]; then echo "Found IPFS fs-repo at $repo" else ipfs init ipfs config Addresses.API /ip4/0.0.0.0/tcp/5001 ipfs config Addresses.Gateway /ip4/0.0.0.0/tcp/8080 fi # if the first argument is daemon if [ "$1" = "daemon" ]; then # filter the first argument until # https://github.com/ipfs/go-ipfs/pull/3573 # has been resolved shift else # print deprecation warning # go-ipfs used to hardcode "ipfs daemon" in it's entrypoint # this workaround supports the new syntax so people start setting daemon explicitly # when overwriting CMD, making this PR safe to merge echo "DEPRECATED: arguments have been set but the first argument isn't 'daemon'" >&2 echo "DEPRECATED: run 'docker run ipfs/go-ipfs daemon $@' instead" >&2 echo "DEPRECATED: see the following PRs for more information:" >&2 echo "DEPRECATED: * https://github.com/ipfs/go-ipfs/pull/3573" >&2 echo "DEPRECATED: * https://github.com/ipfs/go-ipfs/pull/3685" >&2 fi exec ipfs daemon "$@"