Home cloud or what can be done with Orange Pi 5 (Part 1)

I work as a developer and quite often I need some local services at hand, I didn’t want to buy something expensive, I usually rent it when I roll it out to the customer. I thought to look for where you can store the services you need for development, storage and demonstration (websites, APIs, etc.). I came across a very miniature and economical solution, this SBC – single-board computer, single-board computers. From the fact that I would like it to have more memory and cores (threads) of the processor, and here the bonus is also miniature, the ability to easily transport, work from a power bank if necessary.

In the process of analyzing the market, I found various solutions, ranging from the popular Raspberry Pi 4 to the little-known Khadas Vim4, which I took in the summer and sold in the fall because I thought it was too expensive compared to other devices.

My requirements were like this:

  1. 8+GB of RAM (preferably DDR4, 1666 or higher)

  2. 4+ cores (I would like x86 / x64, did not work with arm64 and others, but I’m ready to explore)

  3. Connectivity for SATA or NVMe drives.

  4. The ability to assemble several devices into a single classter.

  5. Easy to transport and set up.

After looking at different options, I caught my eye in November Orange Pi 5 RK3588S, which became available by pre-order in the manufacturer’s official stores. He fit into my wishes and even very much.

A detailed specification can be viewed on the manufacturer’s website, but here I will indicate the main parameters that bribed me.
SOC – Rockchip RK3588S
CPU – 8-core 64-bit processor, 4xCortex-A76 (2.4GHz) and 4xCortex-A55 (1.8GHz)
RAM – 4GB/8GB/16GB /32GB(LPDDR4x)
GPU – Arm Mali-G610 MP4 + HDMI2.1, up to 8K @60Hz
Drive – M2 M-Key, USB 3.1 x2 and many other connections.
Price: THB 8781 (about 16,000 rubles for two pieces with delivery) – $ 105

Orange Pi5 16Gb RAM
Orange Pi5 16Gb RAM

I ordered it on November 30 and lo and behold, on December 20 two Orange Pi 5 16Gb RAM boards arrived.
The Fedex delivery man arrived with a customs paper to the house, paid + 7% Thai customs tax for import on the spot. (about 700 baht). It was not very well packed, just a box, inside there was a board and instructions, but everything arrived intact.

After reading instructions for use found how to install the operating system and run. There are several OS available on the official site, I chose the regular Linux Ubuntu 22.04 with xfce desktop.

I downloaded the Ubuntu 22 image and uploaded the image to the SD card via balenaEtcher. The process there is elementary simple, select an image, choose where, press start, wait for the end, and now the flash card with the system is ready. Then it remains to insert it into the only suitable port, connect the monitor and power. I have a portable monitor 17″, connected it via HDMI, inserted the USB-C cable and pressing the button the LEDs started blinking. Red that the device is on and green when it is working.

By typing a couple of commands, you can see the parameters, Linux Ubuntu 22 Jammy Orange Pi 5 5.10 rk-3588
By typing a couple of commands, you can see the parameters, Linux Ubuntu 22 Jammy Orange Pi 5 5.10 rk-3588

It works perfectly, the response to actions is fast, the picture is good, the video plays 4k and there is still a margin. I tried different office programs and run around different sites in the browser. Everything works great. Then I wanted to try to do stress tests and see how the heating goes.

stress --cpu 4
stress –cpu 4

With a load of 4 flows, the temperature rises to 70 degrees, (at +32 during the day) this is taking into account a small radiator 25x25mm. With cooling, I’ll think of something else, at the moment it cools down pretty quickly if the load is not constant. During normal operation, up to 10% of the processor is about + 5-8 degrees to room temperature. Consumption 5V 0.4-3.7A depends on the load.

Now let’s move on to the main thing, for which I took it, the OS that I installed is already installed Docker to use containers (small applications), managing it through the CLI command line is not very convenient, and I installed Portainer. Set up with just two commands
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

more details here
then open the port https://ip_address:9443/ and see the interface for working with Portainer containers (when you first log in, you will be asked to create a password)

orange pi 5 linux ubuntu 22 jammy aarch64 docker portainer
orange pi 5 linux ubuntu 22 jammy aarch64 docker portainer

For those who know what the docker consists of, everything will be relatively clear, volume – storage space, network – network settings, images – images, containers – the containers themselves, running image instances with settings and stacks – a configuration system for launching several containers with a wide range of possibilities (for example, scaling – replicating services, sites, APIs, etc.).

A little later, I will start both single board computers and install Kubernetes to be able to run the application on different computers, which will allow you to configure and see what happens if one of the computers fails. In theory, the system should automatically start the site / service on another available computer. But that’s in the next post…

list of running services in Portainer
list of running services in Portainer

So far, a little catch-up, I tried to install gitlab-ce, minio S3, postgre, nginx, gitlab-runner with alpine. (docker-compose for gitlab-ce aarch64) We must remember that the system is based on aarch64 architecture and not all applications will be able to start. But the world is moving towards making things more accessible. The porter has templates for running WordPress, Joomla, Drupal, Rabbit MQ, MySQL, ELK (elasticsearch) and more.

I liked working with minio S3, it can be said as a home cloud for storing and synchronizing files from different devices. Home S3, very convenient, came home, the phone and other devices connected to the home network and automatically downloaded fresh photos / videos / documents, supports file versioning. You can configure what would be possible to download from the external Internet, but you need to think about security.

minio S3 home based
minio S3 home based

My next goal is to start building applications through the pipeline, first .Net Core C # (asp mvc, web api), and then try to build the Unity3d game and run the server part inside the cuber with player balancing.

Write in the comments if you are interested in the article? , what else would you like to try, check, see? on Orange Pi 5.

I will be glad to your questions, wishes and suggestions.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *