<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[The Vrain Lab]]></title><description><![CDATA[Practical experiments in Kubernetes, bare-metal infrastructure, self-hosted services, distributed systems, and local AI. Build it, break it, understand it.]]></description><link>https://vrainlab.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6acaa4da93bedc5b12b86dc7/2f660095-b407-4904-ba12-6402f57176cf.png</url><title>The Vrain Lab</title><link>https://vrainlab.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Thu, 22 Oct 2026 20:24:13 GMT</lastBuildDate><atom:link href="https://vrainlab.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Pi, Switch, Repeat]]></title><description><![CDATA[Explore my 15U homelab rack with Raspberry Pis, a 24-port switch, and cable management in a compact 400 mm cabinet.]]></description><link>https://vrainlab.hashnode.dev/pi-switch-repeat</link><guid isPermaLink="true">https://vrainlab.hashnode.dev/pi-switch-repeat</guid><category><![CDATA[Homelab]]></category><category><![CDATA[Raspberry Pi]]></category><category><![CDATA[networking]]></category><category><![CDATA[hardware]]></category><category><![CDATA[self hosting]]></category><dc:creator><![CDATA[Salvatore Milite]]></dc:creator><pubDate>Wed, 21 Oct 2026 22:05:20 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6acaa4da93bedc5b12b86dc7/28366e0e-56ee-46e0-b27f-ca5b009f71e7.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>With the rack assembled, it was time to move the hardware into its new home.</p>
<p>The cabinet is a 15U LogiLink W15A40B ECO wall-mounted rack with a depth of just 400 mm. That compact footprint shaped almost every decision. Once you account for shelves, cables, and rear access, space disappears surprisingly quickly.</p>
<p>Here's what made it into the rack.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6acaa4da93bedc5b12b86dc7/9ae2adc0-b9c2-40de-98ed-207054c50969.jpg" alt="" style="display:block;margin:0 auto" />

<h2>Small Computers, Familiar Hardware</h2>
<p>At 11U, three Raspberry Pis sit on a rackmount: two Raspberry Pi 4s with 8 GB of RAM for general computing workloads, and a Raspberry Pi 3 with 1 GB of RAM running OpenWrt.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6acaa4da93bedc5b12b86dc7/50082946-c6cc-4dd7-9157-d68de09a0729.png" alt="" style="display:block;margin:0 auto" />

<p>There wasn't much of a selection process. I already owned the Pis, so reusing them was the easiest way to get started without buying additional hardware.</p>
<p>They provide a compact way to run different workloads while leaving room to expand or change things later. For now, they're more than enough to get the lab going.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6acaa4da93bedc5b12b86dc7/42d12b57-54dc-44fe-9b27-0accaa1ec0ef.png" alt="" style="display:block;margin:0 auto" />

<h2>The Network</h2>
<p>At 8U sits a TP-Link TL-SG1024DE, a 24-port Gigabit Easy Smart switch.</p>
<p>I wanted enough ports for all the devices in the rack, with the option to segment network traffic using VLANs. Twenty-four ports also leave some headroom for future devices, which is always preferable to discovering that you've run out of ports just after everything is neatly wired.</p>
<p>I initially planned to automate the switch configuration through an API, but I couldn't find a supported API for the job. For now, I configure it through the web interface instead. Given the relatively small configuration, manual management is a reasonable compromise.</p>
<p>It's not the automation-first approach I'd hoped for, but at least it gets the job done.</p>
<h2>Keeping the Cables in Check</h2>
<p>Cable management turned out to be the hardest part of the build.</p>
<p>I installed a 1U cable comb, a 1U patch panel with 12 keystone slots, and a 1U cable organizer at the rear. The goal was straightforward: keep connections organized and make it possible to trace, replace, or adjust cables without dismantling the entire rack.</p>
<p>The 400 mm depth made this harder than expected. Every additional cable competes for the same limited space, and working behind the installed components quickly becomes a puzzle.</p>
<p>The network connections use Cat7/Cat8 cabling, while power distribution is handled by an Infitronic INSV1002A 19-inch PDU.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6acaa4da93bedc5b12b86dc7/7ac9ef42-e037-44e3-8483-eaf25472137e.jpg" alt="" style="display:block;margin:0 auto" />

<p>The result is a workable foundation, although there's still room to improve the routing as I add more devices.</p>
<h2>A Little Room for Convenience</h2>
<p>At 14U, there's space for my laptop and docking station.</p>
<p>Strictly speaking, neither belongs to the homelab itself. But the rack is also part of my workspace, and keeping them there saves space elsewhere.</p>
<p>A homelab should make life easier, not just look good in a rack diagram. Sometimes practical convenience wins over architectural purity.</p>
<h2>Enough for Now</h2>
<p>That's the current setup: Raspberry Pis for computing and OpenWrt, a managed switch for networking, and the necessary cable management and power distribution to keep everything usable.</p>
<p>I deliberately haven't filled every available unit. There's space between 3U and 7U for future computing hardware, while 12U is reserved for a second rackmount for the Raspberry Pis.</p>
<p>Before expanding further, though, there are a couple of practical things to sort out: keeping the dust out and protecting the equipment from curious little hands. My daughter is fascinated by the blinking lights and tempting buttons, so protective covers are probably next.</p>
<h2>What's Next?</h2>
<p>There's still room to grow, but hardware is only half the story.</p>
<p>With the rack assembled and the components in place, it's time to make everything work together. That's where <strong>Script Happens</strong>, a new series here at The Vrain Lab, comes in.</p>
<p>I'll be moving up the stack to configure the network, automate OpenWrt with Ansible, and bring the cluster to life with k0s.</p>
<p>The metal is in place. Now let's see what the scripts can do.</p>
]]></content:encoded></item><item><title><![CDATA[From Chaos to Rack & Roll]]></title><description><![CDATA[How I planned a 15U wall-mounted homelab rack, fought 400 mm of depth, and rebuilt it from scratch. Cable management, build order, and lessons learned]]></description><link>https://vrainlab.hashnode.dev/from-chaos-to-rack-roll</link><guid isPermaLink="true">https://vrainlab.hashnode.dev/from-chaos-to-rack-roll</guid><category><![CDATA[Homelab]]></category><category><![CDATA[server-rack]]></category><category><![CDATA[Cable management]]></category><category><![CDATA[infrastructure]]></category><category><![CDATA[Raspberry Pi]]></category><category><![CDATA[server rack diagram builder]]></category><dc:creator><![CDATA[Salvatore Milite]]></dc:creator><pubDate>Thu, 15 Oct 2026 00:45:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6acaa4da93bedc5b12b86dc7/881b86e8-57a3-409e-b3c3-4fdac0d5114b.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote>
<p>In <a href="https://vrainlab.hashnode.dev/my-first-homelab-rack">My First Homelab Rack</a>, I filled a 15U cabinet without a plan, PS5 included, then waited three months for the missing mounting rails. At least I could play some games while I waited.</p>
</blockquote>
<p>It's hardly surprising that I don't have many photos from these three months. Most of the parts ended up in the very box I was using to clean up the room, and once everything was stored away, I didn't open it again.</p>
<p>Not until the missing rack profiles finally arrived.</p>
<blockquote>
<p>Are we there yet?</p>
</blockquote>
<h2>Planning the rack</h2>
<p>Before that, I'd already started thinking about what I wanted to put in the rack: a network switch, computing power, and a power supply. I already had all the components, just not in a form factor designed for rack mounting.</p>
<p>So I started researching what would fit and how I could adapt the equipment I already owned.</p>
<p>But first things first: everything had to come out of the rack so I could start again.</p>
<p>I began sketching the front and rear views, planning where each component would go and how the cables would be routed.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6acaa4da93bedc5b12b86dc7/53c9f8ca-f795-4f94-bf18-fdf420430da2.jpg" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/6acaa4da93bedc5b12b86dc7/ea5b0f33-655d-4b19-9f76-95525a28f9c1.jpg" alt="" style="display:block;margin:0 auto" />

<p>For now, these components are enough to get the journey started. If I need more computing power or additional components later on, I can still use the space between 3U and 7U, as well as 12U, which is already planned for a second rack-mounted setup for the Raspberry Pis.</p>
<p>The first challenge became apparent pretty quickly: <strong>cable management versus usable space</strong>. With a rack depth of just 400 mm, space was already at a premium. Proper cable management at the front would extend beyond the rack's frame, leaving me with two options: move the front profiles backwards and sacrifice even more usable space, or give up on the glass door.</p>
<p>The left side presented another challenge. I wanted the first rack unit to accommodate my laptop and docking station, with all the cables from my desk converging there. At the same time, I needed enough room to connect devices and make adjustments without dismantling half the setup.</p>
<p>For now, I removed the left panel. My plan is to close it again once everything is installed and route the cables through one of the openings at the rear.</p>
<p>Naturally, that plan assumes everything will fit the way I imagine it.</p>
<h2>Connecting the Alpha and the Omega</h2>
<p>With the layout roughly figured out, I started building the rack unit by unit.</p>
<p>And that's where I made my next mistake.</p>
<p>I followed the most convenient approach I could think of:</p>
<p><em>Why build the rack from the bottom up when I can install the cool stuff at the top first and save myself some effort?</em></p>
<p>Retrospectively, the idea of saving effort is debatable.</p>
<p>You need access to the rear of the rack to install components and manage cables. You also need enough room at the bottom to get everything into position. Starting at the top quickly turned the lower sections into an obstacle course.</p>
<p>There was another problem. Once I installed a shelf in the first unit, adding the cable management afterwards became practically impossible.</p>
<p>So, after installing shelves at 3U and 14U, I had to remove everything and start again. Back to the sketch, back to the planning, and back to the beginning.</p>
<p>This time, I had a better approach:</p>
<ol>
<li><p>Install the power supply.</p>
</li>
<li><p>Set up the rear cable management.</p>
</li>
<li><p>Build the rack from the bottom up, working towards the top.</p>
</li>
</ol>
<p>It sounds obvious in hindsight. Apparently, hindsight is an essential component of rack assembly, and unfortunately, it isn't included in the box.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6acaa4da93bedc5b12b86dc7/12b1e81c-9701-4143-afb8-22de29e55986.jpg" alt="" style="display:block;margin:0 auto" />

<h2>What comes next?</h2>
<p>With the assembly order sorted out, it was time to focus on the hardware itself.</p>
<p>In the next article, I'll go through the setup component by component: what made the cut, why I chose it, and how everything fits together.</p>
<p>A rack is easy to build around a plan.</p>
<p>The real test begins when reality gets access to the hardware.</p>
]]></content:encoded></item><item><title><![CDATA[My First Homelab Rack]]></title><description><![CDATA[A first look at my LogiLink W15A40B 15U rack cabinet and the foundation of The Vrain Lab homelab.]]></description><link>https://vrainlab.hashnode.dev/my-first-homelab-rack</link><guid isPermaLink="true">https://vrainlab.hashnode.dev/my-first-homelab-rack</guid><category><![CDATA[Homelab]]></category><category><![CDATA[bare-metal]]></category><category><![CDATA[rack]]></category><category><![CDATA[networking]]></category><category><![CDATA[self hosting]]></category><category><![CDATA[infrastructure]]></category><dc:creator><![CDATA[Salvatore Milite]]></dc:creator><pubDate>Sat, 10 Oct 2026 21:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6acaa4da93bedc5b12b86dc7/c0fc4d6f-967e-4ad9-96cf-be8b39683195.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote>
<p><strong>Update:</strong> The missing rails arrived. In <a href="https://vrainlab.hashnode.dev/from-chaos-to-rack-roll">From Chaos to Rack &amp; Roll</a>, I tear the rack down, plan the layout properly, and rebuild it with rear cable management. The glass door problem from this article comes up again there.</p>
</blockquote>
<p><strong>Introduction</strong></p>
<p>Every homelab needs a physical foundation.</p>
<p>Before building clusters, running services, experimenting with local AI, or breaking things in the name of learning, there is a more basic question:</p>
<blockquote>
<p>Where should all the hardware live?</p>
</blockquote>
<p>For The Vrain Lab, that foundation is a <strong>LogiLink W15A40B 19-inch wall-mounted rack cabinet</strong>. It is not a datacenter rack and it will not host dozens of servers, but it provides a structured starting point for building a small, reliable, and maintainable home infrastructure.</p>
<p>This is the first article in <strong>Bare Metal Minds</strong>, a series about local infrastructure, self-hosting, physical hardware, and experiments with real machines.</p>
<h3>Planning</h3>
<p>In the summer of 2025, after my daughter was born, I cleaned out my office and threw away years of accumulated stuff. That led to a bigger plan: a larger desk, and a rack to keep my devices and cables organized.</p>
<p>I measured first. The rack had to fit under the desk. A common ergonomic rule puts desk height at body height divided by 2.48, which for me meant the rack could not be taller than 75 cm. It also could not be deeper than 600 mm.</p>
<p>I researched on paper and compared options. Open frame racks were the obvious alternative. I wanted something between the two: a cabinet I configure myself, with a glass door and side panels to dampen noise and keep dust out. The glass door turned out to be a mistake. More on that later in this series.</p>
<p>I ended up with the <strong>LogiLink W15A40B ECO Wandschrank, 15U, for €134.16</strong>.</p>
<p>For power I added an <strong>Infitronic INSV1002A</strong>: a 1U aluminium 19-inch PDU with 8 outlets, 2 USB ports, and an LED gooseneck service lamp. Its 3680 W rating is 230 V × 16 A, the limit of a standard 16 A circuit. I chose it for three reasons. It takes only one unit, it has enough outlets for my experiments, and the illuminated switch gives me one place to cut power if an experiment goes wrong.</p>
<h3>Choosing the rack</h3>
<ul>
<li><p><strong>Size:</strong> 15U gives me room to grow while staying under the 75 cm limit.</p>
</li>
<li><p><strong>Mounting the cabinet:</strong> easy.</p>
</li>
<li><p><strong>Mounting everything else:</strong> shelves and cable management turned into a small disaster.</p>
</li>
</ul>
<h3>What went in first</h3>
<p>On day one I moved everything into the rack:</p>
<ul>
<li><p>GeeekPi Raspberry Pi Cluster with 3 Pis</p>
</li>
<li><p>Synology DS920+</p>
</li>
<li><p>a PS5</p>
</li>
<li><p>an old Netgear switch, splitting the LAN connection between the devices</p>
</li>
</ul>
<p>No layout, no cable plan. I added everything and called it done.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6acaa4da93bedc5b12b86dc7/2e789730-d6f8-42aa-8bd5-8afdda854fcc.jpg" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/6acaa4da93bedc5b12b86dc7/c6e353fc-8d9b-4289-8a81-f172e42e3a7b.jpg" alt="" style="display:block;margin:0 auto" />

<h3>The mounting rail problem</h3>
<p>This is where the lack of planning showed. I did not know how little the cabinet includes: <strong>two 19-inch mounting rails</strong> (<em>Einbauprofile</em>). Shelves that mount at four points need four rails, so you must buy two more.</p>
<p>I bought two rails with the part number WP0015 on the same day, and they did not fit. The sticker on the cabinet base reads Canovate, made in Turkey, so I searched for original parts. The only supplier I found was Technibuy. Their system had an error, and the earliest they could deliver the two rails was <strong>three months later</strong>. I accepted, because original parts for this cabinet are hard to find.</p>
<p>Without those rails I could not install proper cable management. I could not even route the LAN cable down the side. So I put everything in the cabinet as it was and waited.</p>
<h3>Getting the cables out</h3>
<p>I did not want to cut open the top of the cabinet at the back, so I improvised:</p>
<ul>
<li><p>The network cable leaves through one of the keyholes meant for wall mounting.</p>
</li>
<li><p>The power cables leave through an opening I had to cut at the bottom.</p>
</li>
</ul>
<img src="https://cdn.hashnode.com/uploads/covers/6acaa4da93bedc5b12b86dc7/8883864b-af38-4a84-8dd2-c517f09a2033.jpg" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/6acaa4da93bedc5b12b86dc7/19e14c21-b943-4c34-866c-a06f93889c2e.jpg" alt="" style="display:block;margin:0 auto" />

<h3>What I got wrong</h3>
<ol>
<li><p><strong>I sketched the layout after buying the rack.</strong> I measured the space and researched on paper first, but a unit-by-unit layout came too late. It belongs before the purchase.</p>
</li>
<li><p><strong>I did not check how shelves mount.</strong> Two rails or four decides what you can install.</p>
</li>
<li><p><strong>I bought shelves “for now” and planned to figure out the rest later.</strong> Have a clear goal first.</p>
</li>
<li><p><strong>I did not plan the cable entry points.</strong> Decide where cables enter and leave before the rack fills up.</p>
</li>
</ol>
<h3>What’s next</h3>
<p>The "rack" is up, everything is plugged in, and it works. It is also a mess and cannot really be called a server rack.</p>
<p>Next in Bare Metal Minds: what changed once the missing rails arrived.</p>
]]></content:encoded></item></channel></rss>