Bitcoin Node no Orange Pi 5 com Umbrel

Ricardo Baltazar
Juntos Somos Mais
Published in
4 min readJan 18, 2023
Photo by Alexandre Debiève on Unsplash

Essa é minha primeira experiencia com Orange Pi 5 e eu tive que fazer algumas coisas um pouco diferentes para conseguir colocar tudo para funcionar.

Os equipamentos:

A ideia é começar a conversar a partir do momento que você já tem o seu sistema operacional rodando no Oragen Pi 5. Existem alguns guias para isso na internet e por isso não acho que vale a pena perder tempo com isso. Eu usei esse vídeo para aprender e ele é fenomenal.

Eu escolhi a imagem Orangepi5_1.1.0_ubuntu_jammy_desktop_xfce_linux5.10.110.7z, então se você escolheu outra imagem, pode ser que algumas coisas aqui não se aplique a você.

Para ver as opções de imagem entre no site deles, nesse link.

Eu peguei a versão descktop porque o Umbrel precisa de uma interface grafica. Outro requisito é que precisa ser 64 bits.

O CPU do Orange Pi 5 tem suporte para 64 bits, mas eu não sei proque eles não adicionaram isso na imagem que eu falei acima, por isso precisamos executar o seguinte comando:

sudo dpkg --add-architecture amd64 ## adding 64-bits architecture package

Agora já podemos instalar o Umbrel.

Aqui eu tive outro problema, eu tenho apenas um MicroSD Card de 64gb. Eu achei que poderia ficar sem HD rapidamente (quero adicionar mais cosas no PC) e por isso optei por botar um HD externo de 2T que eu tenho na porta USB 3 do Orange Pi.

Para fazer isso direito, pelo menos é o que eu consegui fazer com meu pobre conhecimento de Linux, se existe solução melhor, por favor, deixe no comentário um direcionamento para eu poder estudar.

Eu aprendi muita coisa com esse vídeo:

Eu precisei montar o HD externo na pasta mnt porque quero ele como parte do meu sistema todo o tempo.

Para isso, insira o HD externo na USB, depois use o comando lsblk :

> lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 1.8T 0 disk
└─sda1 8:1 0 1.8T 0 part
mtdblock0 31:0 0 16M 0 disk
mmcblk1 179:0 0 59.5G 0 disk
├─mmcblk1p1 179:1 0 256M 0 part /boot
└─mmcblk1p2 179:2 0 58.6G 0 part /var/log.hdd
/
zram0 254:0 0 7.7G 0 disk [SWAP]
zram1 254:1 0 200M 0 disk /var/log

Você deve ver alguma coisa com o nome sda ou parecido… Esse é o nome que o Linux da quando você tem alguma coisa no USB.

Com esse nome em mãos, vamos fazer o seguinte:

cd /mnt
mkdir disk1
sudo mount /dev/sda1 /mnt/disk1/

O /dev/ é padrão e você devi adicionar na frente do sda1 ou o nome similar que você tem aí. O próximo parametro é o /mnt/disk1/ que é onde ele vai montar.

Quando você roda o mount ele funciona apenas para a sessão atual, para fazer ele montar isso quando existir um boot você precisa alterar o arquivo /etc/fstab e adicionar essa linha no final dele /dev/sda1 mnt/disk1 ext4 default 0 0 , o meu ficou assim:

> cat /etc/fstab
UUID=bc3a0620-7f52-4f69-9d48-be19c533ab12 / ext4 defaults,noatime,commit=600,errors=remount-ro 0 1
UUID=E429-E94B /boot vfat defaults 0 2
tmpfs /tmp tmpfs defaults,nosuid 0 0
/dev/sda1 /mnt/disk1 ext4 defaults 0 0

Isso feito, o próximo passo é instalar e configurar o docker. Eu não tive problemas com a instalação, então você também não deve ter, basta seguir com qualquer uma dessas opções.

Uma vez instalado, eu queria mudar onde o docker vai salvar os dados. O docker sempre grava tudo em um único diretório, o valor default é /var/lib/docker . No meu caso eu quero que ele grave no meu HD externo. Para isso vamos criar uma uma pasta nele e configurar o docker:

Estou considerando duas coisas no script, uma é que o arquivo daemon.json não existe, ele não é criado na instalação do docker. O segundo ponto é que eu uso nano para editar o arquivo, faça como você acha melhor.

cd /mnt/disk1
mkdir docker-data
cd /etc/docker
touch daemon.json
nano daemon.json

O arquivo deve ficar da seguinte forma:

{
"data-root" : "/mnt/disk1/docker-data"
}

Agora basta reiniciar o docker:

service docker restart

Se você fizer um ls /mnt/disk1/docker-data verá vários itens criados.

Vamos instalar o Umbrel agora. Eu também quero instalar ele no meu HD externo. Por padrão ele vai guardar os dados das aplicações na pasta app-data que é criada onde ele foi instalado.

Para instalar eu usei o comando abaixo com três parametros, um para mudar o diretório e dois para ele não instalar o docker porque a gente já instalou.

cd /mnt/disk1
mkdir umbrel
curl -L https://umbrel.sh | bash -s -- --install-path /mnt/disk1/umbrel/ --no-install-docker --no-install-compose

O log final do comando será alguma coisa assim:

Creating manager   ... done
Creating auth ... done
Creating tor_proxy ... done
Creating dashboard ... done
Creating nginx ... done

Removing status server iptables entry...
Exiting iptables setup when not on Umbrel OS

Starting installed apps...


Umbrel is now accessible at
http://orangepi5.local
http://10.0.0.147
Skipping status update when not on Umbrel OS

Umbrel has been sucessfully installed!

Quando você abrir essa URL no browser já terá o Umbrel pronto. Basta instalar as apps que você quiser e aproveitar.

--

--