Skip to content

Commit

Permalink
install dependecies script
Browse files Browse the repository at this point in the history
  • Loading branch information
le99 committed May 11, 2021
1 parent 8bd5271 commit 9928528
Show file tree
Hide file tree
Showing 4 changed files with 169 additions and 5 deletions.
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,12 @@ Another option:
npm install --global --production windows-build-toolsnpm config set msvs_version 2015 --global
```

## Linux Dependencies

```bash
./install-dependencies.sh
```

# Runing

## docker-compose
Expand All @@ -46,4 +52,4 @@ In `./app/` there are scripts to test sawtooth, kafka and mongo.

## Suggestions
Edit `up.sh` to only run the code that is required.
Edit `./docker-compose/docker-compose.yaml` so that only the required containers are run
Edit `./docker-compose/docker-compose.yaml` so that only the required containers are run
6 changes: 3 additions & 3 deletions app/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"dotenv": "^8.2.0",
"lodash": "^4.17.20",
"mongodb": "^3.6.2",
"node-rdkafka": "^2.9.1",
"node-rdkafka": "^2.10.1",
"sawtooth-sdk": "^1.0.5",
"underscore": "^1.11.0"
},
Expand Down
158 changes: 158 additions & 0 deletions install-dependencies.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
#!/bin/bash -x


#Script based on:
# https://medium.com/@eSizeDave/https-medium-com-esizedave-how-to-install-hyperledger-fabric-1-2-on-ubuntu-16-04-lts-ecdfa4dcec72
# https://hyperledger-fabric.readthedocs.io/en/latest/prereqs.html

if [[ "$EUID" -ne 0 ]]; then
echo "Must run with sudo"
exit
fi

main(){

if [[ $1 = "--version" ]]; then
show_versions
exit 0
fi

apt-get update

sudo apt-get install libtool pkg-config build-essential autoconf automake -y

install_docker
install_docker_compose
#install_go
install_node
nvm install v10
#apt-get install python build-essential -y
#install_fabric_samples
echo "lougout and login"
}

usage () {
echo "$PROGNAME: usage: $PROGNAME [--version]"
return
}



install_docker(){
# Docker
# https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce

apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common -y

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -

apt-key fingerprint 0EBFCD88

add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"


apt-get update

apt-get install docker-ce docker-ce-cli containerd.io -y

# https://docs.docker.com/install/linux/linux-postinstall/
groupadd docker
usermod -aG docker $SUDO_USER

# newgrp docker
sudo -u $SUDO_USER docker run hello-world

docker --version
}

install_docker_compose(){

# https://docs.docker.com/compose/install/

curl -L "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

# https://docs.docker.com/compose/completion/
curl -L https://raw.githubusercontent.com/docker/compose/1.25.3/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose

docker-compose --version
}

install_go(){

# https://golang.org/doc/install

sudo -u $SUDO_USER curl https://dl.google.com/go/go1.13.7.linux-amd64.tar.gz -o go.tar.gz

sudo -u $SUDO_USER sha256sum go.tar.gz
sudo -u $SUDO_USER tar -xvf go.tar.gz
mv go /usr/local
rm ./go.tar.gz

sudo -u $SUDO_USER tee -a ~/.profile <<- '_EOF_'
# GO Configuration
export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
_EOF_

export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin

go version
}

install_node(){
# https://github.com/nvm-sh/nvm

sudo -u $SUDO_USER sh -c 'curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash'

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

nvm install 10
nvm use node 10

node --version
}

install_fabric_samples(){
# https://hyperledger-fabric.readthedocs.io/en/release-1.4/install.html
curl -sSL https://bit.ly/2ysbOFE | bash -s -- 2.0.0 1.4.4 0.4.18
mkidr -p /usr/local/hyperledger
mv ./fabric-samples /usr/local/hyperledger/

sudo -u $SUDO_USER tee -a ~/.profile <<- '_EOF_'
# Fabric bins
export PATH=/usr/local/hyperledger/bin:$PATH
_EOF_

export PATH=/usr/local/hyperledger/bin:$PATH
}

show_versions(){
echo "-----------------------------"
docker --version
docker-compose --version
go version
node --version
python --version
peer version
orderer version
fabric-ca-server version
}

main "$@"

0 comments on commit 9928528

Please sign in to comment.