sudo apt-get install git
sudo apt-get install -y build-essential libpq-dev nodejs git-core curl zlib1g-dev libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL
rbenv install 3.0.2
rbenv global 3.0.2
ruby -v
- Instalar pacote docker.io:
sudo apt install docker.io
- Inicializa o Docker e configura para inicializar com o sistema:
sudo systemctl enable --now docker
- Teste:
sudo docker run hello-world
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
- Primeiramente é necessário adicionar os repositórios:
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
- Depois disso, basta instalar o yarn:
sudo apt update
sudo apt install yarn
Caso você não tenha configurado, você pode fazer isso seguindo 2 passos:
Você vai baixar e configurar os projetos de acordo com o que você for precisar.
git clone [email protected]:natannobre/smart-farming.git
- Vá para o diretório do projeto:
cd <your_path_to>/smart-farming
- Crie um arquivo env_variables com as variáveis de ambiente:
cp config/env_variables_example.yml config/env_variables.yml
# Inside this file you need to set the variable FIWARE_API_KEY
- Configure os containers:
docker-compose build
- Execute o container:
docker-compose up
- Crie um Service Group
OBS: Coloque sua FIWARE_API_KEY no campo "apikey"
curl --location --request POST 'http://localhost:4041/iot/services' \
--header 'fiware-service: openiot' \
--header 'fiware-servicepath: /' \
--header 'Content-Type: application/json' \
--data-raw '{
"services": [
{
"apikey": "<YOUR_API_KEY>",
"cbroker": "http://orion:1026",
"entity_type": "Thing",
"resource": ""
}
]
}'
- Após inicializar a rede Blockchain, Crie um User e pegue o Token de authenticação
curl --location --request POST 'http://localhost:4000/users' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjY5NjI0OTMsInVzZXJuYW1lIjoibmF0YW5ub2JyZTEiLCJvcmdOYW1lIjoiT3JnMSIsImlhdCI6MTY2NjkyNjQ5M30.mVVzoYsrQaQTwuuF6sRzbznrWJkLbWpnt0efJe0t4cY' \
--data-raw '{
"username":"<USERNAME>",
"orgName": "Org1"
} '
# Response example:
# {
# "success": true,
# "message": "<USERNAME> enrolled Successfully",
# "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjcwMDY1OTUsInVzZXJuYW1lIjoibmF0YW5ub2JyZTEiLCJvcmdOYW1lIjoiT3JnMSIsImlhdCI6MTY2Njk3MDU5NX0.8BJoE5eRyN3UH-SZ5-a68BlcnVVUTO8GNTJpPEo7XVc"
}
- Com este token você seta a variável de ambiente BLOCKCHAIN_API_KEY no arquivo config/env_variables.yml e reinicia a aplicação Rails
BLOCKCHAIN_API_KEY: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjcwMDY1OTUsInVzZXJuYW1lIjoibmF0YW5ub2JyZTEiLCJvcmdOYW1lIjoiT3JnMSIsImlhdCI6MTY2Njk3MDU5NX0.8BJoE5eRyN3UH-SZ5-a68BlcnVVUTO8GNTJpPEo7XVc
# Parar os containers da aplicação Rails
docker stop [ CONTAINER_IDS_LIST ]
cd <your_path_to>/smart-farming
docker-compose up