Permalink
Cannot retrieve contributors at this time
executable file
56 lines (45 sloc)
1.44 KB
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| set -e | |
| user=ipfs | |
| repo="$IPFS_PATH" | |
| if [ `id -u` -eq 0 ]; then | |
| echo "Changing user to $user" | |
| # ensure folder is writable | |
| su-exec "$user" test -w "$repo" || chown -R -- "$user" "$repo" | |
| # restart script with new privileges | |
| exec su-exec "$user" "$0" "$@" | |
| fi | |
| # 2nd invocation with regular user | |
| ipfs version | |
| if [ -e "$repo/config" ]; then | |
| echo "Found IPFS fs-repo at $repo" | |
| else | |
| case "$IPFS_PROFILE" in | |
| "") INIT_ARGS="" ;; | |
| *) INIT_ARGS="--profile=$IPFS_PROFILE" ;; | |
| esac | |
| ipfs init $INIT_ARGS | |
| ipfs config Addresses.API /ip4/0.0.0.0/tcp/5001 | |
| ipfs config Addresses.Gateway /ip4/0.0.0.0/tcp/8080 | |
| # Set up the swarm key, if provided | |
| SWARM_KEY_FILE="$repo/swarm.key" | |
| SWARM_KEY_PERM=0400 | |
| # Create a swarm key from a given environment variable | |
| if [ ! -z "$IPFS_SWARM_KEY" ] ; then | |
| echo "Copying swarm key from variable..." | |
| echo -e "$IPFS_SWARM_KEY" >"$SWARM_KEY_FILE" || exit 1 | |
| chmod $SWARM_KEY_PERM "$SWARM_KEY_FILE" | |
| fi | |
| # Unset the swarm key variable | |
| unset IPFS_SWARM_KEY | |
| # Check during initialization if a swarm key was provided and | |
| # copy it to the ipfs directory with the right permissions | |
| # WARNING: This will replace the swarm key if it exists | |
| if [ ! -z "$IPFS_SWARM_KEY_FILE" ] ; then | |
| echo "Copying swarm key from file..." | |
| install -m $SWARM_KEY_PERM "$IPFS_SWARM_KEY_FILE" "$SWARM_KEY_FILE" || exit 1 | |
| fi | |
| # Unset the swarm key file variable | |
| unset IPFS_SWARM_KEY_FILE | |
| fi | |
| exec ipfs "$@" |