I gave an unused Beelink SEi8 mini PC a second life by installing Ubuntu and turning it into a home server. It now runs a STEEM node, Node.js applications, databases, a reverse proxy and Cloudflare Tunnel. The article also explains how double NAT allows the NUC-8 to initiate connections to my Raspberry Pis while preventing connections in the opposite direction, as well as covering home broadband, hardware reuse and cooling considerations.
Turning a Dusty Mini PC into a Home Server: My NUC-8’s Second Life
During the second half of last year, I dug out a mini PC that had been gathering dust at home, installed Ubuntu 24.04.4 LTS on it, and placed it inside the shoe cupboard by our front door. It has been serving as my home server ever since.
I usually call it my “NUC-8”, although, strictly speaking, it is not an Intel NUC. It is a Beelink SEi8 mini PC that I bought from Amazon on 25 April 2021 for £466.65. Its specifications are as follows:
Beelink Mini PC SEI8, Intel Core i5-8259U processor running at up to 3.8GHz, 16GB of DDR4 memory, a 512GB NVMe SSD, Intel Iris Plus Graphics 655, Wi-Fi 6 and Bluetooth 5.0.
From a Windows Mini PC to an Unused Computer
The machine came with Windows 10 Pro pre-installed. Its specifications looked perfectly respectable, but in everyday use it always felt rather slow and never quite met my expectations. I later put it in Eric’s room, where he used it for more than six months. After I replaced it with a MacBook Air for him, the little PC gradually became redundant and ended up gathering dust.
The awkward thing about mini PCs (Next Unit of Computing) like this is not that they are genuinely underpowered. They simply do not stand out as everyday desktop computers. Compared with a newer laptop, the responsiveness, graphics performance and overall experience can feel fairly ordinary. Throwing one away, however, would be a terrible waste. A four-core, eight-thread processor, 16GB of memory and a 512GB NVMe SSD are still more than capable of running Linux and a collection of always-on services.
So, during the second half of last year, I decided to give it a different purpose.
Linux Brought It Back to Life
After I installed Ubuntu 24.04.4 LTS, the computer almost felt as though it had come back to life. Without lots of unnecessary desktop software and background services, the whole system ran remarkably smoothly. As a server, its hardware is far from obsolete and still has plenty of capacity to spare.
Over the past year, I have gradually deployed quite a few things on it.
Later, I also dug out a 2TB hard drive that had been sitting unused and gathering dust. I installed it in a USB enclosure and connected it to the NUC-8. It uses the ext3 file system and is used mainly to store data for the STEEM blockchain node. The Raspberry Pi 4B also has an external 1TB 2.5-inch USB SSD, which I use to provide file sharing across the home network.
At one point, I used it to run a STEEM witness node. I also configured a reverse proxy and used Cloudflare Tunnel to expose services from my home network securely to the internet. In addition, I use PM2 to keep a Node.js bot running continuously. The bot monitors transactions on the blockchain and writes the relevant data into a database.
When writing code, I often connect to the server over the local network using VS Code Remote SSH. I can compile and run C++ programs, test scripts, or deploy small services that need to remain online. Compared with a Raspberry Pi, the i5 processor, 16GB of memory and NVMe storage make a very noticeable difference, particularly when compiling code or working with databases.
This once-forgotten mini PC (NUC) has now been running inside the shoe cupboard for nearly a year, and it has proved remarkably stable.
A Home Network Finally Good Enough for the Server
I recently upgraded our home broadband to full fibre. The theoretical download speed is 900Mbps, while the upload speed is 110Mbps. That is more than adequate for running a small server at home.
Of course, when services hosted at home are being accessed from the public internet, the important figure is the 110Mbps upload speed, not the 900Mbps download speed. Even so, 110Mbps provides ample capacity for a personal website, APIs, remote administration and the other lightweight services I currently run. Cloudflare Tunnel also helps: the server establishes an outbound connection to Cloudflare, so I do not need to wrestle with public IP addresses and port forwarding across two routers. It continues to work even though my home network uses double NAT.
Why Can the NUC-8 Reach the Raspberry Pis, but Not the Other Way Around?
My home network has a slightly unusual layout.
[caption id="attachment_157968" align="alignnone" width="1546"] My Current Home Network Topology[/caption]
flowchart TB
Internet(("Internet"))
subgraph PL["Plusnet LAN — upstream subnet"]
Hub["Plusnet Hub 2<br/>Router and NAT"]
Pi4["Raspberry Pi 4B<br/>Connected directly to Hub 2"]
Hub <-->|Direct connection| Pi4
end
subgraph DL["Deco LAN — downstream subnet"]
Deco1["Deco 1 — Primary<br/>Router, NAT and firewall"]
Deco2["Deco 2 — Mesh node<br/>Upstairs office — bedroom"]
Deco3["Deco 3 — Mesh node<br/>Study room — former garage"]
NUC["NUC-8 / Beelink SEi8<br/>Ubuntu home server"]
Pi1["Raspberry Pi Model B Rev 2<br/>~475 MB RAM"]
Deco1 <-->|Ethernet| NUC
Deco1 -.-|Wireless mesh| Deco2
Deco1 -.-|Wireless mesh| Deco3
Deco3 <-->|Ethernet| Pi1
end
Internet <--> Hub
Hub <-->|Ethernet to Deco WAN| Deco1
The Plusnet router is the primary upstream router. Two Raspberry Pis: an old Raspberry Pi Model B Rev 2 with only about 475MB of memory connects to a secondary Deco Router (Wirless Mesh Node), and a Raspberry Pi 4B with 4GB of memory connects directly to the PlusNet Hub 2 Router via Ethernet Cable (RJ45).
The Deco is connected to the Plusnet router but continues to operate in router mode rather than bridge or access point mode. The NUC-8 is connected to the Deco by Ethernet. As a result, the Plusnet router and the Deco each create a separate local subnet. For example, the Raspberry Pis might be on the 192.168.1.x network, while the NUC-8 is on the 192.168.68.x network managed by the Deco.
This creates the common home-networking arrangement known as double NAT.
When the NUC-8 initiates a connection to one of the Raspberry Pis, the traffic travels from the Deco’s internal network towards its upstream interface. The Deco uses NAT to translate the connection to its own upstream address and records the request in its connection-tracking table. When the Raspberry Pi replies, the Deco can therefore translate and forward the response back to the NUC-8. Communication initiated in this direction works normally.
Things are different when a Raspberry Pi attempts to initiate a connection to the NUC-8. The Plusnet network normally has no route telling it how to reach the 192.168.68.x subnet. Even if a request reaches the Deco’s upstream interface, the Deco firewall treats it as an unsolicited inbound connection arriving from its WAN side. With no corresponding entry in the connection-tracking table, the request is blocked by default rather than forwarded to the NUC-8.
The traffic is therefore not literally limited to one-way communication. The real difference is which side is allowed to initiate a new connection. Once the NUC-8 has initiated one, replies from a Raspberry Pi can travel back along the established path. A Raspberry Pi, however, cannot simply open a new connection to the NUC-8.
The NUC-8 server and the Raspberry B model rev 2 cannot be seen from Raspberry Pi 4b.
From 192.168.1.XXX icmp_seq=460 Destination Host Unreachable
If I wanted all three computers to communicate with one another directly, the simplest solution would be to switch the Deco to access point mode, or connect both Raspberry Pis to the Deco so that every device belonged to the same subnet. A more advanced but considerably more complicated approach would be to add a static route on the Plusnet router pointing to the Deco, then adjust the Deco’s NAT and firewall rules accordingly. Many consumer routers do not fully support this type of configuration. If I needed access to only a few services on the NUC-8, I could instead configure port forwarding on the Deco, although that would be less clean and more cumbersome to manage than using a single subnet.
A Second Life for an Old Computer
Looking back, this mini PC cost me £466.65 in 2021 and never made a particularly strong impression as a Windows desktop. A few years later, however, it found a role that suited it much better: a Linux home server.
It is compact, its power consumption is reasonably modest, and its performance is far better than that of an ordinary Raspberry Pi. It can comfortably run a blockchain node, a database, Node.js services, a reverse proxy and a development environment. Since upgrading to full-fibre broadband, the whole setup has become even more useful.
The one thing I must keep in mind is that a shoe cupboard is not a proper server room. Running reliably for nearly a year is encouraging, but it is no substitute for monitoring temperatures and storage health. The cupboard needs adequate ventilation, the air intake should be cleaned regularly, and I should keep an eye on the CPU temperature and the SSD’s SMART data. Otherwise, heat could cause the machine to throttle or shorten the life of its components.
For me, the most satisfying part of this project is not merely that it saved me from buying another server. It gave a neglected computer a useful purpose again. The machine sits quietly inside the cupboard by the front door, almost invisible in everyday life, yet it is constantly running nodes, processing data, hosting services and supporting whatever small project happens to occur to me next.
That, perhaps, is the most enjoyable thing about running a home server if you like experimenting with technology. You do not necessarily need an expensive rack, a dedicated server room or even the latest hardware. A forgotten old computer, Linux, a reliable network connection and a little patience are enough to build a small home lab of your own.
[caption id="attachment_157970" align="alignnone" width="953"] Beelink Mini PC - Order from Amazon - 2021[/caption]
[caption id="attachment_157972" align="alignnone" width="864"] Two Servers (Raspberry Pi 4b - and NUC-8 beelink) in the shoe closet[/caption]
[caption id="attachment_157973" align="alignnone" width="1536"] Reconnect the NUC-8[/caption]
[caption id="attachment_157974" align="alignnone" width="1536"] Beelink NUC-8 Mini PC[/caption]
[caption id="attachment_157975" align="alignnone" width="1536"] Beelink NUC-8 Mini PC (A small fan)[/caption]
[caption id="attachment_157976" align="alignnone" width="2048"] Preparing the NUC-8 Server[/caption]
[caption id="attachment_157977" align="alignnone" width="1160"] RAM and Processors[/caption]
[caption id="attachment_157978" align="alignnone" width="877"] neofetch - server information[/caption]
[caption id="attachment_157979" align="alignnone" width="733"] Running PM2 Manager[/caption]
[caption id="attachment_157980" align="alignnone" width="1189"] Running steemd blockchain[/caption]
I connected the NUC-8 to mouse, keyboard and an external monitor. Then I plugged in the USB storage as the bootable drive (which I had flashed it with the Ubuntu 24.04 image).
[caption id="attachment_157981" align="alignnone" width="2048"] Re-install the Ubuntu24 on NUC-8 Beelink[/caption]
[show_file file="/var/www/wp-post-common/helloacm.com/home-topology.php"]
[show_posts keyword="Home Network Topology"]
[caption id="attachment_157991" align="alignnone" width="1086"] NUC-8 Beelink Specs[/caption]
[caption id="attachment_157992" align="alignnone" width="1074"] Raspberry Pi 4b Specs[/caption]
[caption id="attachment_157993" align="alignnone" width="1089"] Raspberry Pi B Model Rev 2 Specs[/caption]
--EOF (The Ultimate Computing & Technology Blog) --
Related posts:
Understanding dynamic_cast in C++: Safe Downcasting Explained What Is dynamic_cast in C++? Purpose Safely convert between polymorphic types at runtime Commonly used...
Algorithms to Detect Pattern of Length M Repeated K or More Times in a String Given an array of positive integers arr, find a pattern of length m that is...
Microsoft Shareholders Reject Proposal to Add Bitcoin to Balance Sheet Every year, I receive a letter from Microsoft because I own a few shares of...
Teaching Kids Programming – Minmax Dynamic Programming Algorithm (Game of Picking Numbers at Two Ends) Teaching Kids Programming: Videos on Data Structures and Algorithms You are given a list of...
Telegram Accounts Are Shockingly Easy to Hack Without 2FA “How My Telegram Account Got Hacked—and What I Learned” “A Cautionary Tale: Telegram Security and...
Refactoring Re-sampling Algorithm using O(n) Hashtable Background I was asked by my manager to optimize a piece of code that has...
The Common Include PHP File For My Sites I think you may have some common code to write for most of the PHP...
VBScript Coding Exercise – Insertion Sorting Algorithm Among the simple sorting algorithms, the insertion sorting algorithm is my favourite. Insertion sort is...
Turning a Dusty Mini PC into a Home Server: My NUC-8’s Second LifeI gave an unused Beelink SEi8 mini PC a second life by installing Ubuntu and turning it into a home server. It now runs a STEEM node, Node.js applications, databases, a reverse proxy and Cloudflare Tunnel. The article also explains how double NAT allows the NUC-8 to initiate connections to my Raspberry Pis while preventing connections in the opposite direction, as well as covering home broadband, hardware reuse and cooling considerations.
During the second half of last year, I dug out a mini PC that had been gathering dust at home, installed Ubuntu 24.04.4 LTS on it, and placed it inside the shoe cupboard by our front door. It has been serving as my home server ever since.
I usually call it my “NUC-8”, although, strictly speaking, it is not an Intel NUC. It is a Beelink SEi8 mini PC that I bought from Amazon on 25 April 2021 for £466.65. Its specifications are as follows:
Beelink Mini PC SEI8, Intel Core i5-8259U processor running at up to 3.8GHz, 16GB of DDR4 memory, a 512GB NVMe SSD, Intel Iris Plus Graphics 655, Wi-Fi 6 and Bluetooth 5.0.
From a Windows Mini PC to an Unused ComputerThe machine came with Windows 10 Pro pre-installed. Its specifications looked perfectly respectable, but in everyday use it always felt rather slow and never quite met my expectations. I later put it in Eric’s room, where he used it for more than six months. After I replaced it with a MacBook Air for him, the little PC gradually became redundant and ended up gathering dust.
The awkward thing about mini PCs (Next Unit of Computing) like this is not that they are genuinely underpowered. They simply do not stand out as everyday desktop computers. Compared with a newer laptop, the responsiveness, graphics performance and overall experience can feel fairly ordinary. Throwing one away, however, would be a terrible waste. A four-core, eight-thread processor, 16GB of memory and a 512GB NVMe SSD are still more than capable of running Linux and a collection of always-on services.
So, during the second half of last year, I decided to give it a different purpose.
Linux Brought It Back to LifeAfter I installed Ubuntu 24.04.4 LTS, the computer almost felt as though it had come back to life. Without lots of unnecessary desktop software and background services, the whole system ran remarkably smoothly. As a server, its hardware is far from obsolete and still has plenty of capacity to spare.
Over the past year, I have gradually deployed quite a few things on it.
Later, I also dug out a 2TB hard drive that had been sitting unused and gathering dust. I installed it in a USB enclosure and connected it to the NUC-8. It uses the ext3 file system and is used mainly to store data for the STEEM blockchain node. The Raspberry Pi 4B also has an external 1TB 2.5-inch USB SSD, which I use to provide file sharing across the home network.
At one point, I used it to run a STEEM witness node. I also configured a reverse proxy and used Cloudflare Tunnel to expose services from my home network securely to the internet. In addition, I use PM2 to keep a Node.js bot running continuously. The bot monitors transactions on the blockchain and writes the relevant data into a database.
When writing code, I often connect to the server over the local network using VS Code Remote SSH. I can compile and run C++ programs, test scripts, or deploy small services that need to remain online. Compared with a Raspberry Pi, the i5 processor, 16GB of memory and NVMe storage make a very noticeable difference, particularly when compiling code or working with databases.
This once-forgotten mini PC (NUC) has now been running inside the shoe cupboard for nearly a year, and it has proved remarkably stable.
A Home Network Finally Good Enough for the ServerI recently upgraded our home broadband to full fibre. The theoretical download speed is 900Mbps, while the upload speed is 110Mbps. That is more than adequate for running a small server at home.
Of course, when services hosted at home are being accessed from the public internet, the important figure is the 110Mbps upload speed, not the 900Mbps download speed. Even so, 110Mbps provides ample capacity for a personal website, APIs, remote administration and the other lightweight services I currently run. Cloudflare Tunnel also helps: the server establishes an outbound connection to Cloudflare, so I do not need to wrestle with public IP addresses and port forwarding across two routers. It continues to work even though my home network uses double NAT.
Why Can the NUC-8 Reach the Raspberry Pis, but Not the Other Way Around?My home network has a slightly unusual layout.
flowchart TB
Internet(("Internet"))
subgraph PL["Plusnet LAN — upstream subnet"]
Hub["Plusnet Hub 2<br/>Router and NAT"]
Pi4["Raspberry Pi 4B<br/>Connected directly to Hub 2"]
Hub <-->|Direct connection| Pi4
end
subgraph DL["Deco LAN — downstream subnet"]
Deco1["Deco 1 — Primary<br/>Router, NAT and firewall"]
Deco2["Deco 2 — Mesh node<br/>Upstairs office — bedroom"]
Deco3["Deco 3 — Mesh node<br/>Study room — former garage"]
NUC["NUC-8 / Beelink SEi8<br/>Ubuntu home server"]
Pi1["Raspberry Pi Model B Rev 2<br/>~475 MB RAM"]
Deco1 <-->|Ethernet| NUC
Deco1 -.-|Wireless mesh| Deco2
Deco1 -.-|Wireless mesh| Deco3
Deco3 <-->|Ethernet| Pi1
end
Internet <--> Hub
Hub <-->|Ethernet to Deco WAN| Deco1
The Plusnet router is the primary upstream router. Two Raspberry Pis: an old Raspberry Pi Model B Rev 2 with only about 475MB of memory connects to a secondary Deco Router (Wirless Mesh Node), and a Raspberry Pi 4B with 4GB of memory connects directly to the PlusNet Hub 2 Router via Ethernet Cable (RJ45).
The Deco is connected to the Plusnet router but continues to operate in router mode rather than bridge or access point mode. The NUC-8 is connected to the Deco by Ethernet. As a result, the Plusnet router and the Deco each create a separate local subnet. For example, the Raspberry Pis might be on the 192.168.1.x network, while the NUC-8 is on the 192.168.68.x network managed by the Deco.
This creates the common home-networking arrangement known as double NAT.
When the NUC-8 initiates a connection to one of the Raspberry Pis, the traffic travels from the Deco’s internal network towards its upstream interface. The Deco uses NAT to translate the connection to its own upstream address and records the request in its connection-tracking table. When the Raspberry Pi replies, the Deco can therefore translate and forward the response back to the NUC-8. Communication initiated in this direction works normally.
Things are different when a Raspberry Pi attempts to initiate a connection to the NUC-8. The Plusnet network normally has no route telling it how to reach the 192.168.68.x subnet. Even if a request reaches the Deco’s upstream interface, the Deco firewall treats it as an unsolicited inbound connection arriving from its WAN side. With no corresponding entry in the connection-tracking table, the request is blocked by default rather than forwarded to the NUC-8.
The traffic is therefore not literally limited to one-way communication. The real difference is which side is allowed to initiate a new connection. Once the NUC-8 has initiated one, replies from a Raspberry Pi can travel back along the established path. A Raspberry Pi, however, cannot simply open a new connection to the NUC-8.
The NUC-8 server and the Raspberry B model rev 2 cannot be seen from Raspberry Pi 4b.
From 192.168.1.XXX icmp_seq=460 Destination Host Unreachable
If I wanted all three computers to communicate with one another directly, the simplest solution would be to switch the Deco to access point mode, or connect both Raspberry Pis to the Deco so that every device belonged to the same subnet. A more advanced but considerably more complicated approach would be to add a static route on the Plusnet router pointing to the Deco, then adjust the Deco’s NAT and firewall rules accordingly. Many consumer routers do not fully support this type of configuration. If I needed access to only a few services on the NUC-8, I could instead configure port forwarding on the Deco, although that would be less clean and more cumbersome to manage than using a single subnet.
A Second Life for an Old ComputerLooking back, this mini PC cost me £466.65 in 2021 and never made a particularly strong impression as a Windows desktop. A few years later, however, it found a role that suited it much better: a Linux home server.
It is compact, its power consumption is reasonably modest, and its performance is far better than that of an ordinary Raspberry Pi. It can comfortably run a blockchain node, a database, Node.js services, a reverse proxy and a development environment. Since upgrading to full-fibre broadband, the whole setup has become even more useful.
The one thing I must keep in mind is that a shoe cupboard is not a proper server room. Running reliably for nearly a year is encouraging, but it is no substitute for monitoring temperatures and storage health. The cupboard needs adequate ventilation, the air intake should be cleaned regularly, and I should keep an eye on the CPU temperature and the SSD’s SMART data. Otherwise, heat could cause the machine to throttle or shorten the life of its components.
For me, the most satisfying part of this project is not merely that it saved me from buying another server. It gave a neglected computer a useful purpose again. The machine sits quietly inside the cupboard by the front door, almost invisible in everyday life, yet it is constantly running nodes, processing data, hosting services and supporting whatever small project happens to occur to me next.
That, perhaps, is the most enjoyable thing about running a home server if you like experimenting with technology. You do not necessarily need an expensive rack, a dedicated server room or even the latest hardware. A forgotten old computer, Linux, a reliable network connection and a little patience are enough to build a small home lab of your own.
I connected the NUC-8 to mouse, keyboard and an external monitor. Then I plugged in the USB storage as the bootable drive (which I had flashed it with the Ubuntu 24.04 image).
Steemit Posts:
–EOF (The Ultimate Computing & Technology Blog) —
2753 words
Last Post: A Five-Year Milestone at Microsoft (Anniversary Crystal)
Next Post: Hardening WordPress: Disable PHP Execution in `wp-content/uploads`
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | Сайт на 8-битном микроконтроллере, сервер на дискете и муха-киборг: любопытные эксперименты с компактным хостингом | 5 | 6 | 09-07-2026 |
| 2 | Своя self-hosted двухсерверная VPN-архитектура. Подробный путь разработки и ошибки, с которыми вы можете столкнуться | 7 | 8 | 13-07-2026 |
| 3 | ASUS bringt den Mini-PC ExpertCenter PN54-S1 auf den Markt | 0 | 5 | 08-07-2026 |
| 4 | Der Beelink ME Pro 2-Bay Hybrid NAS Mini-PC im Test | 0 | 11.52 | 05-07-2026 |
| 5 | Нейро сети для самых маленьких. Часть первая (которая после нулевой). Удобство в прокрустовом ложе оптимизации | 0 | 5 | 01-07-2026 |
| 6 | 零刻 EQi 304 迷你主机海外上市:行业首发 Wildcat Lake + UFS 3.1 闪存,双雷电 4 + 双网口 | 0 | 7 | 04-07-2026 |
| 7 | Мини-ПК Ninkear M7 на AMD Ryzen 5 7430U, RAM 16 ГБ, SSD 512 ГБ (27 378 ₽ + пошлина) | 0 | 6 | 29-06-2026 |
| 8 | ESP-KVM: как я сделал IP-KVM на ESP32-P4 за копейки — и обо что споткнулся по дороге | 0 | 12.29 | 12-08-2026 |
| 9 | Remapping the Useless AI Slop Copilot Key in Linux | 0 | 5 | 16-07-2026 |
| 10 | redis_cache | 0 | 9.19 | 11-05-2026 |