{"id":381,"date":"2026-04-07T21:17:53","date_gmt":"2026-04-07T21:17:53","guid":{"rendered":"https:\/\/sites.wp.odu.edu\/tiaportfolio\/?p=381"},"modified":"2026-04-09T00:55:46","modified_gmt":"2026-04-09T00:55:46","slug":"the-homelab-software-so-far","status":"publish","type":"post","link":"https:\/\/sites.wp.odu.edu\/tiaportfolio\/2026\/04\/07\/the-homelab-software-so-far\/","title":{"rendered":"The Homelab Software So Far"},"content":{"rendered":"\n<p>With the hardware listing out of the way, let&#8217;s get a little more into the details of what my lab is actually running.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure data-wp-context=\"{ &quot;core&quot;:\n\t\t\t\t{ &quot;image&quot;:\n\t\t\t\t\t{   &quot;imageLoaded&quot;: false,\n\t\t\t\t\t\t&quot;initialized&quot;: false,\n\t\t\t\t\t\t&quot;lightboxEnabled&quot;: false,\n\t\t\t\t\t\t&quot;hideAnimationEnabled&quot;: false,\n\t\t\t\t\t\t&quot;preloadInitialized&quot;: false,\n\t\t\t\t\t\t&quot;lightboxAnimation&quot;: &quot;zoom&quot;,\n\t\t\t\t\t\t&quot;imageUploadedSrc&quot;: &quot;https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-3.png&quot;,\n\t\t\t\t\t\t&quot;imageCurrentSrc&quot;: &quot;&quot;,\n\t\t\t\t\t\t&quot;targetWidth&quot;: &quot;311&quot;,\n\t\t\t\t\t\t&quot;targetHeight&quot;: &quot;361&quot;,\n\t\t\t\t\t\t&quot;scaleAttr&quot;: &quot;&quot;,\n\t\t\t\t\t\t&quot;dialogLabel&quot;: &quot;Enlarged image&quot;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\" data-wp-interactive class=\"aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"311\" height=\"361\" data-wp-effect--setStylesOnResize=\"effects.core.image.setStylesOnResize\" data-wp-effect=\"effects.core.image.setButtonStyles\" data-wp-init=\"effects.core.image.initOriginImage\" data-wp-on--click=\"actions.core.image.showLightbox\" data-wp-on--load=\"actions.core.image.handleLoad\" src=\"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-3.png\" alt=\"\" class=\"wp-image-383\" srcset=\"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-3.png 311w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-3-258x300.png 258w\" sizes=\"(max-width: 311px) 100vw, 311px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-on--click=\"actions.core.image.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.core.image.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.core.image.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button>        <div data-wp-body=\"\" class=\"wp-lightbox-overlay zoom\"\n            data-wp-bind--role=\"selectors.core.image.roleAttribute\"\n            data-wp-bind--aria-label=\"selectors.core.image.dialogLabel\"\n            data-wp-class--initialized=\"context.core.image.initialized\"\n            data-wp-class--active=\"context.core.image.lightboxEnabled\"\n            data-wp-class--hideAnimationEnabled=\"context.core.image.hideAnimationEnabled\"\n            data-wp-bind--aria-modal=\"selectors.core.image.ariaModal\"\n            data-wp-effect=\"effects.core.image.initLightbox\"\n            data-wp-on--keydown=\"actions.core.image.handleKeydown\"\n            data-wp-on--touchstart=\"actions.core.image.handleTouchStart\"\n            data-wp-on--touchmove=\"actions.core.image.handleTouchMove\"\n            data-wp-on--touchend=\"actions.core.image.handleTouchEnd\"\n            data-wp-on--click=\"actions.core.image.hideLightbox\"\n            tabindex=\"-1\"\n            >\n                <button type=\"button\" aria-label=\"Close\" style=\"fill: #000\" class=\"close-button\" data-wp-on--click=\"actions.core.image.hideLightbox\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z\"><\/path><\/svg>\n                <\/button>\n                <div class=\"lightbox-image-container\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full responsive-image\"><img decoding=\"async\" data-wp-bind--src=\"context.core.image.imageCurrentSrc\" data-wp-style--object-fit=\"selectors.core.image.lightboxObjectFit\" src=\"\" alt=\"\" class=\"wp-image-383\" \/><\/figure><\/div><\/div>\n                <div class=\"lightbox-image-container\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full enlarged-image\"><img decoding=\"async\" data-wp-bind--src=\"selectors.core.image.enlargedImgSrc\" data-wp-style--object-fit=\"selectors.core.image.lightboxObjectFit\" src=\"\" alt=\"\" class=\"wp-image-383\" \/><\/figure><\/div><\/div>\n                <div class=\"scrim\" style=\"background-color: #fff\" aria-hidden=\"true\"><\/div>\n        <\/div><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\">The Scraps<\/h2>\n\n\n\n<p>As you can see in the screenshot, there are some containers that I have, but are currently off, such as the dnsmasq and pterodactyl apps. I considered using <a href=\"https:\/\/pterodactyl.io\/\">Pterodactyl<\/a> as a easier way to deploy Minecraft servers for my friends to play on, but there hasn&#8217;t been much demand or pressure to do it, and I&#8217;m still trying to understand how it works. So it will continue to collect dust for now.<\/p>\n\n\n\n<p>Because I plan to run OPNsense and Openwrt on my network portion of the homelab, I will probably delete that container soon, as it was really meant to serve as a demo for DNS management of my homelab sites. It gets exhausting having to remember the exact IP address and port number of a service, and even if I bookmark it, that doesn&#8217;t save me from my password manager trying to autofill for 7 different services on the same IP address!<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure data-wp-context=\"{ &quot;core&quot;:\n\t\t\t\t{ &quot;image&quot;:\n\t\t\t\t\t{   &quot;imageLoaded&quot;: false,\n\t\t\t\t\t\t&quot;initialized&quot;: false,\n\t\t\t\t\t\t&quot;lightboxEnabled&quot;: false,\n\t\t\t\t\t\t&quot;hideAnimationEnabled&quot;: false,\n\t\t\t\t\t\t&quot;preloadInitialized&quot;: false,\n\t\t\t\t\t\t&quot;lightboxAnimation&quot;: &quot;zoom&quot;,\n\t\t\t\t\t\t&quot;imageUploadedSrc&quot;: &quot;https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-5.png&quot;,\n\t\t\t\t\t\t&quot;imageCurrentSrc&quot;: &quot;&quot;,\n\t\t\t\t\t\t&quot;targetWidth&quot;: &quot;1920&quot;,\n\t\t\t\t\t\t&quot;targetHeight&quot;: &quot;900&quot;,\n\t\t\t\t\t\t&quot;scaleAttr&quot;: &quot;&quot;,\n\t\t\t\t\t\t&quot;dialogLabel&quot;: &quot;Enlarged image&quot;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\" data-wp-interactive class=\"aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"480\" data-wp-effect--setStylesOnResize=\"effects.core.image.setStylesOnResize\" data-wp-effect=\"effects.core.image.setButtonStyles\" data-wp-init=\"effects.core.image.initOriginImage\" data-wp-on--click=\"actions.core.image.showLightbox\" data-wp-on--load=\"actions.core.image.handleLoad\" src=\"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-5-1024x480.png\" alt=\"\" class=\"wp-image-385\" srcset=\"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-5-1024x480.png 1024w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-5-300x141.png 300w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-5-768x360.png 768w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-5-1536x720.png 1536w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-5.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-on--click=\"actions.core.image.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.core.image.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.core.image.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">This ends now<\/figcaption>        <div data-wp-body=\"\" class=\"wp-lightbox-overlay zoom\"\n            data-wp-bind--role=\"selectors.core.image.roleAttribute\"\n            data-wp-bind--aria-label=\"selectors.core.image.dialogLabel\"\n            data-wp-class--initialized=\"context.core.image.initialized\"\n            data-wp-class--active=\"context.core.image.lightboxEnabled\"\n            data-wp-class--hideAnimationEnabled=\"context.core.image.hideAnimationEnabled\"\n            data-wp-bind--aria-modal=\"selectors.core.image.ariaModal\"\n            data-wp-effect=\"effects.core.image.initLightbox\"\n            data-wp-on--keydown=\"actions.core.image.handleKeydown\"\n            data-wp-on--touchstart=\"actions.core.image.handleTouchStart\"\n            data-wp-on--touchmove=\"actions.core.image.handleTouchMove\"\n            data-wp-on--touchend=\"actions.core.image.handleTouchEnd\"\n            data-wp-on--click=\"actions.core.image.hideLightbox\"\n            tabindex=\"-1\"\n            >\n                <button type=\"button\" aria-label=\"Close\" style=\"fill: #000\" class=\"close-button\" data-wp-on--click=\"actions.core.image.hideLightbox\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z\"><\/path><\/svg>\n                <\/button>\n                <div class=\"lightbox-image-container\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large responsive-image\"><img decoding=\"async\" data-wp-bind--src=\"context.core.image.imageCurrentSrc\" data-wp-style--object-fit=\"selectors.core.image.lightboxObjectFit\" src=\"\" alt=\"\" class=\"wp-image-385\" \/><figcaption class=\"wp-element-caption\">This ends now<\/figcaption><\/figure><\/div><\/div>\n                <div class=\"lightbox-image-container\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large enlarged-image\"><img decoding=\"async\" data-wp-bind--src=\"selectors.core.image.enlargedImgSrc\" data-wp-style--object-fit=\"selectors.core.image.lightboxObjectFit\" src=\"\" alt=\"\" class=\"wp-image-385\" \/><figcaption class=\"wp-element-caption\">This ends now<\/figcaption><\/figure><\/div><\/div>\n                <div class=\"scrim\" style=\"background-color: #fff\" aria-hidden=\"true\"><\/div>\n        <\/div><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\">Netbird<\/h2>\n\n\n\n<p><a href=\"https:\/\/netbird.io\/\">Netbird<\/a> is wonderful! It serves as my VPN home so I can still access my homelab and its running services, but also for my friends to be able to access it too! It can be selfhosted, and I might plan to do so in the future once I&#8217;ve gotten more confident with how it works. As for now, my Optiplex serves as the entry node to my home network via the Netbird-CT containter.<\/p>\n\n\n\n<figure data-wp-context=\"{ &quot;core&quot;:\n\t\t\t\t{ &quot;image&quot;:\n\t\t\t\t\t{   &quot;imageLoaded&quot;: false,\n\t\t\t\t\t\t&quot;initialized&quot;: false,\n\t\t\t\t\t\t&quot;lightboxEnabled&quot;: false,\n\t\t\t\t\t\t&quot;hideAnimationEnabled&quot;: false,\n\t\t\t\t\t\t&quot;preloadInitialized&quot;: false,\n\t\t\t\t\t\t&quot;lightboxAnimation&quot;: &quot;zoom&quot;,\n\t\t\t\t\t\t&quot;imageUploadedSrc&quot;: &quot;https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-6.png&quot;,\n\t\t\t\t\t\t&quot;imageCurrentSrc&quot;: &quot;&quot;,\n\t\t\t\t\t\t&quot;targetWidth&quot;: &quot;1920&quot;,\n\t\t\t\t\t\t&quot;targetHeight&quot;: &quot;900&quot;,\n\t\t\t\t\t\t&quot;scaleAttr&quot;: &quot;&quot;,\n\t\t\t\t\t\t&quot;dialogLabel&quot;: &quot;Enlarged image&quot;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\" data-wp-interactive class=\"wp-block-image size-large is-resized wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"480\" data-wp-effect--setStylesOnResize=\"effects.core.image.setStylesOnResize\" data-wp-effect=\"effects.core.image.setButtonStyles\" data-wp-init=\"effects.core.image.initOriginImage\" data-wp-on--click=\"actions.core.image.showLightbox\" data-wp-on--load=\"actions.core.image.handleLoad\" src=\"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-6-1024x480.png\" alt=\"\" class=\"wp-image-386\" style=\"width:690px;height:auto\" srcset=\"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-6-1024x480.png 1024w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-6-300x141.png 300w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-6-768x360.png 768w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-6-1536x720.png 1536w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-6.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-on--click=\"actions.core.image.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.core.image.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.core.image.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">I&#8217;m away from home but still connected!<\/figcaption>        <div data-wp-body=\"\" class=\"wp-lightbox-overlay zoom\"\n            data-wp-bind--role=\"selectors.core.image.roleAttribute\"\n            data-wp-bind--aria-label=\"selectors.core.image.dialogLabel\"\n            data-wp-class--initialized=\"context.core.image.initialized\"\n            data-wp-class--active=\"context.core.image.lightboxEnabled\"\n            data-wp-class--hideAnimationEnabled=\"context.core.image.hideAnimationEnabled\"\n            data-wp-bind--aria-modal=\"selectors.core.image.ariaModal\"\n            data-wp-effect=\"effects.core.image.initLightbox\"\n            data-wp-on--keydown=\"actions.core.image.handleKeydown\"\n            data-wp-on--touchstart=\"actions.core.image.handleTouchStart\"\n            data-wp-on--touchmove=\"actions.core.image.handleTouchMove\"\n            data-wp-on--touchend=\"actions.core.image.handleTouchEnd\"\n            data-wp-on--click=\"actions.core.image.hideLightbox\"\n            tabindex=\"-1\"\n            >\n                <button type=\"button\" aria-label=\"Close\" style=\"fill: #000\" class=\"close-button\" data-wp-on--click=\"actions.core.image.hideLightbox\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z\"><\/path><\/svg>\n                <\/button>\n                <div class=\"lightbox-image-container\">\n<figure class=\"wp-block-image size-large is-resized responsive-image\"><img decoding=\"async\" data-wp-bind--src=\"context.core.image.imageCurrentSrc\" data-wp-style--object-fit=\"selectors.core.image.lightboxObjectFit\" src=\"\" alt=\"\" class=\"wp-image-386\" style=\"width:690px;height:auto\" \/><figcaption class=\"wp-element-caption\">I&#8217;m away from home but still connected!<\/figcaption><\/figure>\n<\/div>\n                <div class=\"lightbox-image-container\">\n<figure class=\"wp-block-image size-large is-resized enlarged-image\"><img decoding=\"async\" data-wp-bind--src=\"selectors.core.image.enlargedImgSrc\" data-wp-style--object-fit=\"selectors.core.image.lightboxObjectFit\" src=\"\" alt=\"\" class=\"wp-image-386\" style=\"width:690px;height:auto\" \/><figcaption class=\"wp-element-caption\">I&#8217;m away from home but still connected!<\/figcaption><\/figure>\n<\/div>\n                <div class=\"scrim\" style=\"background-color: #fff\" aria-hidden=\"true\"><\/div>\n        <\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Gaming<\/h2>\n\n\n\n<p>Making a minecraft server was the main motivation for me to spin up my Netbird container, as I didn&#8217;t want to deal with the security needed to host an internet facing server yet, along with the fees. So I simply decided to have my friends connect to my Netbird instead. I thankfully was able to get a ginea pig to test the connection for me, and I now have a functioning Vanilla Minecraft server running! I might make a modded one in the future.<\/p>\n\n\n\n<figure data-wp-context=\"{ &quot;core&quot;:\n\t\t\t\t{ &quot;image&quot;:\n\t\t\t\t\t{   &quot;imageLoaded&quot;: false,\n\t\t\t\t\t\t&quot;initialized&quot;: false,\n\t\t\t\t\t\t&quot;lightboxEnabled&quot;: false,\n\t\t\t\t\t\t&quot;hideAnimationEnabled&quot;: false,\n\t\t\t\t\t\t&quot;preloadInitialized&quot;: false,\n\t\t\t\t\t\t&quot;lightboxAnimation&quot;: &quot;zoom&quot;,\n\t\t\t\t\t\t&quot;imageUploadedSrc&quot;: &quot;https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-7.png&quot;,\n\t\t\t\t\t\t&quot;imageCurrentSrc&quot;: &quot;&quot;,\n\t\t\t\t\t\t&quot;targetWidth&quot;: &quot;1580&quot;,\n\t\t\t\t\t\t&quot;targetHeight&quot;: &quot;861&quot;,\n\t\t\t\t\t\t&quot;scaleAttr&quot;: &quot;&quot;,\n\t\t\t\t\t\t&quot;dialogLabel&quot;: &quot;Enlarged image&quot;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\" data-wp-interactive class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"558\" data-wp-effect--setStylesOnResize=\"effects.core.image.setStylesOnResize\" data-wp-effect=\"effects.core.image.setButtonStyles\" data-wp-init=\"effects.core.image.initOriginImage\" data-wp-on--click=\"actions.core.image.showLightbox\" data-wp-on--load=\"actions.core.image.handleLoad\" src=\"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-7-1024x558.png\" alt=\"\" class=\"wp-image-387\" srcset=\"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-7-1024x558.png 1024w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-7-300x163.png 300w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-7-768x419.png 768w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-7-1536x837.png 1536w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-7.png 1580w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-on--click=\"actions.core.image.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.core.image.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.core.image.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button>        <div data-wp-body=\"\" class=\"wp-lightbox-overlay zoom\"\n            data-wp-bind--role=\"selectors.core.image.roleAttribute\"\n            data-wp-bind--aria-label=\"selectors.core.image.dialogLabel\"\n            data-wp-class--initialized=\"context.core.image.initialized\"\n            data-wp-class--active=\"context.core.image.lightboxEnabled\"\n            data-wp-class--hideAnimationEnabled=\"context.core.image.hideAnimationEnabled\"\n            data-wp-bind--aria-modal=\"selectors.core.image.ariaModal\"\n            data-wp-effect=\"effects.core.image.initLightbox\"\n            data-wp-on--keydown=\"actions.core.image.handleKeydown\"\n            data-wp-on--touchstart=\"actions.core.image.handleTouchStart\"\n            data-wp-on--touchmove=\"actions.core.image.handleTouchMove\"\n            data-wp-on--touchend=\"actions.core.image.handleTouchEnd\"\n            data-wp-on--click=\"actions.core.image.hideLightbox\"\n            tabindex=\"-1\"\n            >\n                <button type=\"button\" aria-label=\"Close\" style=\"fill: #000\" class=\"close-button\" data-wp-on--click=\"actions.core.image.hideLightbox\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z\"><\/path><\/svg>\n                <\/button>\n                <div class=\"lightbox-image-container\">\n<figure class=\"wp-block-image size-large responsive-image\"><img decoding=\"async\" data-wp-bind--src=\"context.core.image.imageCurrentSrc\" data-wp-style--object-fit=\"selectors.core.image.lightboxObjectFit\" src=\"\" alt=\"\" class=\"wp-image-387\" \/><\/figure>\n<\/div>\n                <div class=\"lightbox-image-container\">\n<figure class=\"wp-block-image size-large enlarged-image\"><img decoding=\"async\" data-wp-bind--src=\"selectors.core.image.enlargedImgSrc\" data-wp-style--object-fit=\"selectors.core.image.lightboxObjectFit\" src=\"\" alt=\"\" class=\"wp-image-387\" \/><\/figure>\n<\/div>\n                <div class=\"scrim\" style=\"background-color: #fff\" aria-hidden=\"true\"><\/div>\n        <\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Filesharing<\/h2>\n\n\n\n<p>I&#8217;ll detail it below more, but I have a Jellyfin media server running, so I obviously need to pull the files from somewhere! That&#8217;s where my <a href=\"https:\/\/www.45drives.com\/community\/articles\/we-built-a-file-sharing-module-for-cockpit-houston\/\">Cockpit<\/a> container comes in. It was very easy to get the Cockpit server running, and setting up SMB permissions wasn&#8217;t too hard, but NFS was another story. I frequently transfer files through my server.<\/p>\n\n\n\n<figure data-wp-context=\"{ &quot;core&quot;:\n\t\t\t\t{ &quot;image&quot;:\n\t\t\t\t\t{   &quot;imageLoaded&quot;: false,\n\t\t\t\t\t\t&quot;initialized&quot;: false,\n\t\t\t\t\t\t&quot;lightboxEnabled&quot;: false,\n\t\t\t\t\t\t&quot;hideAnimationEnabled&quot;: false,\n\t\t\t\t\t\t&quot;preloadInitialized&quot;: false,\n\t\t\t\t\t\t&quot;lightboxAnimation&quot;: &quot;zoom&quot;,\n\t\t\t\t\t\t&quot;imageUploadedSrc&quot;: &quot;https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-8.png&quot;,\n\t\t\t\t\t\t&quot;imageCurrentSrc&quot;: &quot;&quot;,\n\t\t\t\t\t\t&quot;targetWidth&quot;: &quot;1920&quot;,\n\t\t\t\t\t\t&quot;targetHeight&quot;: &quot;905&quot;,\n\t\t\t\t\t\t&quot;scaleAttr&quot;: &quot;&quot;,\n\t\t\t\t\t\t&quot;dialogLabel&quot;: &quot;Enlarged image&quot;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\" data-wp-interactive class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"483\" data-wp-effect--setStylesOnResize=\"effects.core.image.setStylesOnResize\" data-wp-effect=\"effects.core.image.setButtonStyles\" data-wp-init=\"effects.core.image.initOriginImage\" data-wp-on--click=\"actions.core.image.showLightbox\" data-wp-on--load=\"actions.core.image.handleLoad\" src=\"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-8-1024x483.png\" alt=\"\" class=\"wp-image-391\" srcset=\"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-8-1024x483.png 1024w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-8-300x141.png 300w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-8-768x362.png 768w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-8-1536x724.png 1536w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/image-8.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-on--click=\"actions.core.image.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.core.image.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.core.image.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button>        <div data-wp-body=\"\" class=\"wp-lightbox-overlay zoom\"\n            data-wp-bind--role=\"selectors.core.image.roleAttribute\"\n            data-wp-bind--aria-label=\"selectors.core.image.dialogLabel\"\n            data-wp-class--initialized=\"context.core.image.initialized\"\n            data-wp-class--active=\"context.core.image.lightboxEnabled\"\n            data-wp-class--hideAnimationEnabled=\"context.core.image.hideAnimationEnabled\"\n            data-wp-bind--aria-modal=\"selectors.core.image.ariaModal\"\n            data-wp-effect=\"effects.core.image.initLightbox\"\n            data-wp-on--keydown=\"actions.core.image.handleKeydown\"\n            data-wp-on--touchstart=\"actions.core.image.handleTouchStart\"\n            data-wp-on--touchmove=\"actions.core.image.handleTouchMove\"\n            data-wp-on--touchend=\"actions.core.image.handleTouchEnd\"\n            data-wp-on--click=\"actions.core.image.hideLightbox\"\n            tabindex=\"-1\"\n            >\n                <button type=\"button\" aria-label=\"Close\" style=\"fill: #000\" class=\"close-button\" data-wp-on--click=\"actions.core.image.hideLightbox\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z\"><\/path><\/svg>\n                <\/button>\n                <div class=\"lightbox-image-container\">\n<figure class=\"wp-block-image size-large responsive-image\"><img decoding=\"async\" data-wp-bind--src=\"context.core.image.imageCurrentSrc\" data-wp-style--object-fit=\"selectors.core.image.lightboxObjectFit\" src=\"\" alt=\"\" class=\"wp-image-391\" \/><\/figure>\n<\/div>\n                <div class=\"lightbox-image-container\">\n<figure class=\"wp-block-image size-large enlarged-image\"><img decoding=\"async\" data-wp-bind--src=\"selectors.core.image.enlargedImgSrc\" data-wp-style--object-fit=\"selectors.core.image.lightboxObjectFit\" src=\"\" alt=\"\" class=\"wp-image-391\" \/><\/figure>\n<\/div>\n                <div class=\"scrim\" style=\"background-color: #fff\" aria-hidden=\"true\"><\/div>\n        <\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Docker<\/h2>\n\n\n\n<p>Here&#8217;s the meat and potatoes of the server, my Debian VM running Docker. Originally, I wanted to just run all of my services in individual containers because I thought it would be easier and there were so many helpful community scripts on the Proxmox VE Scripts <a href=\"https:\/\/community-scripts.org\/\">website<\/a>. But over time, I realized how difficult it was to get certain things to work together in my homelab, so I changed my mind and stuck with running almost everything in Docker. I&#8217;m still learning how to use it, so I settled with using <a href=\"https:\/\/dockstarter.com\/\">DockSTARTer<\/a> to make the default docker-compose.yml while I edit the docker-compose.override.yml file.<\/p>\n\n\n\n<p>I have several services running on it, the main ones being <a href=\"https:\/\/jellyfin.org\/\">Jellyfin<\/a> (media streaming), <a href=\"https:\/\/www.navidrome.org\/\">Navidrome<\/a> (music streaming), and <a href=\"https:\/\/immich.app\/\">Immich<\/a> (Google Photos replacement). By using Netbird, I&#8217;ve been able to upload my photos, listen to my music, and watch my shows anywhere!<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-layout-1 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<figure class=\"wp-block-gallery has-nested-images columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure data-wp-context=\"{ &quot;core&quot;:\n\t\t\t\t{ &quot;image&quot;:\n\t\t\t\t\t{   &quot;imageLoaded&quot;: false,\n\t\t\t\t\t\t&quot;initialized&quot;: false,\n\t\t\t\t\t\t&quot;lightboxEnabled&quot;: false,\n\t\t\t\t\t\t&quot;hideAnimationEnabled&quot;: false,\n\t\t\t\t\t\t&quot;preloadInitialized&quot;: false,\n\t\t\t\t\t\t&quot;lightboxAnimation&quot;: &quot;zoom&quot;,\n\t\t\t\t\t\t&quot;imageUploadedSrc&quot;: &quot;https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/Jellyfin.png&quot;,\n\t\t\t\t\t\t&quot;imageCurrentSrc&quot;: &quot;&quot;,\n\t\t\t\t\t\t&quot;targetWidth&quot;: &quot;1920&quot;,\n\t\t\t\t\t\t&quot;targetHeight&quot;: &quot;1032&quot;,\n\t\t\t\t\t\t&quot;scaleAttr&quot;: &quot;&quot;,\n\t\t\t\t\t\t&quot;dialogLabel&quot;: &quot;Enlarged image&quot;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\" data-wp-interactive class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"550\" data-wp-effect--setStylesOnResize=\"effects.core.image.setStylesOnResize\" data-wp-effect=\"effects.core.image.setButtonStyles\" data-wp-init=\"effects.core.image.initOriginImage\" data-wp-on--click=\"actions.core.image.showLightbox\" data-wp-on--load=\"actions.core.image.handleLoad\" src=\"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/Jellyfin-1024x550.png\" alt=\"\" class=\"wp-image-396\" srcset=\"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/Jellyfin-1024x550.png 1024w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/Jellyfin-300x161.png 300w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/Jellyfin-768x413.png 768w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/Jellyfin-1536x826.png 1536w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/Jellyfin.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-on--click=\"actions.core.image.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.core.image.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.core.image.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button>        <div data-wp-body=\"\" class=\"wp-lightbox-overlay zoom\"\n            data-wp-bind--role=\"selectors.core.image.roleAttribute\"\n            data-wp-bind--aria-label=\"selectors.core.image.dialogLabel\"\n            data-wp-class--initialized=\"context.core.image.initialized\"\n            data-wp-class--active=\"context.core.image.lightboxEnabled\"\n            data-wp-class--hideAnimationEnabled=\"context.core.image.hideAnimationEnabled\"\n            data-wp-bind--aria-modal=\"selectors.core.image.ariaModal\"\n            data-wp-effect=\"effects.core.image.initLightbox\"\n            data-wp-on--keydown=\"actions.core.image.handleKeydown\"\n            data-wp-on--touchstart=\"actions.core.image.handleTouchStart\"\n            data-wp-on--touchmove=\"actions.core.image.handleTouchMove\"\n            data-wp-on--touchend=\"actions.core.image.handleTouchEnd\"\n            data-wp-on--click=\"actions.core.image.hideLightbox\"\n            tabindex=\"-1\"\n            >\n                <button type=\"button\" aria-label=\"Close\" style=\"fill: #000\" class=\"close-button\" data-wp-on--click=\"actions.core.image.hideLightbox\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z\"><\/path><\/svg>\n                <\/button>\n                <div class=\"lightbox-image-container\">\n<figure class=\"wp-block-image size-large responsive-image\"><img decoding=\"async\" data-wp-bind--src=\"context.core.image.imageCurrentSrc\" data-wp-style--object-fit=\"selectors.core.image.lightboxObjectFit\" src=\"\" alt=\"\" class=\"wp-image-396\" \/><\/figure>\n<\/div>\n                <div class=\"lightbox-image-container\">\n<figure class=\"wp-block-image size-large enlarged-image\"><img decoding=\"async\" data-wp-bind--src=\"selectors.core.image.enlargedImgSrc\" data-wp-style--object-fit=\"selectors.core.image.lightboxObjectFit\" src=\"\" alt=\"\" class=\"wp-image-396\" \/><\/figure>\n<\/div>\n                <div class=\"scrim\" style=\"background-color: #fff\" aria-hidden=\"true\"><\/div>\n        <\/div><\/figure>\n\n\n\n<figure data-wp-context=\"{ &quot;core&quot;:\n\t\t\t\t{ &quot;image&quot;:\n\t\t\t\t\t{   &quot;imageLoaded&quot;: false,\n\t\t\t\t\t\t&quot;initialized&quot;: false,\n\t\t\t\t\t\t&quot;lightboxEnabled&quot;: false,\n\t\t\t\t\t\t&quot;hideAnimationEnabled&quot;: false,\n\t\t\t\t\t\t&quot;preloadInitialized&quot;: false,\n\t\t\t\t\t\t&quot;lightboxAnimation&quot;: &quot;zoom&quot;,\n\t\t\t\t\t\t&quot;imageUploadedSrc&quot;: &quot;https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/Navidrome.png&quot;,\n\t\t\t\t\t\t&quot;imageCurrentSrc&quot;: &quot;&quot;,\n\t\t\t\t\t\t&quot;targetWidth&quot;: &quot;1920&quot;,\n\t\t\t\t\t\t&quot;targetHeight&quot;: &quot;906&quot;,\n\t\t\t\t\t\t&quot;scaleAttr&quot;: &quot;&quot;,\n\t\t\t\t\t\t&quot;dialogLabel&quot;: &quot;Enlarged image&quot;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\" data-wp-interactive class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"483\" data-wp-effect--setStylesOnResize=\"effects.core.image.setStylesOnResize\" data-wp-effect=\"effects.core.image.setButtonStyles\" data-wp-init=\"effects.core.image.initOriginImage\" data-wp-on--click=\"actions.core.image.showLightbox\" data-wp-on--load=\"actions.core.image.handleLoad\" src=\"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/Navidrome-1024x483.png\" alt=\"\" class=\"wp-image-395\" srcset=\"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/Navidrome-1024x483.png 1024w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/Navidrome-300x142.png 300w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/Navidrome-768x362.png 768w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/Navidrome-1536x725.png 1536w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/Navidrome.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-on--click=\"actions.core.image.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.core.image.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.core.image.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button>        <div data-wp-body=\"\" class=\"wp-lightbox-overlay zoom\"\n            data-wp-bind--role=\"selectors.core.image.roleAttribute\"\n            data-wp-bind--aria-label=\"selectors.core.image.dialogLabel\"\n            data-wp-class--initialized=\"context.core.image.initialized\"\n            data-wp-class--active=\"context.core.image.lightboxEnabled\"\n            data-wp-class--hideAnimationEnabled=\"context.core.image.hideAnimationEnabled\"\n            data-wp-bind--aria-modal=\"selectors.core.image.ariaModal\"\n            data-wp-effect=\"effects.core.image.initLightbox\"\n            data-wp-on--keydown=\"actions.core.image.handleKeydown\"\n            data-wp-on--touchstart=\"actions.core.image.handleTouchStart\"\n            data-wp-on--touchmove=\"actions.core.image.handleTouchMove\"\n            data-wp-on--touchend=\"actions.core.image.handleTouchEnd\"\n            data-wp-on--click=\"actions.core.image.hideLightbox\"\n            tabindex=\"-1\"\n            >\n                <button type=\"button\" aria-label=\"Close\" style=\"fill: #000\" class=\"close-button\" data-wp-on--click=\"actions.core.image.hideLightbox\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z\"><\/path><\/svg>\n                <\/button>\n                <div class=\"lightbox-image-container\">\n<figure class=\"wp-block-image size-large responsive-image\"><img decoding=\"async\" data-wp-bind--src=\"context.core.image.imageCurrentSrc\" data-wp-style--object-fit=\"selectors.core.image.lightboxObjectFit\" src=\"\" alt=\"\" class=\"wp-image-395\" \/><\/figure>\n<\/div>\n                <div class=\"lightbox-image-container\">\n<figure class=\"wp-block-image size-large enlarged-image\"><img decoding=\"async\" data-wp-bind--src=\"selectors.core.image.enlargedImgSrc\" data-wp-style--object-fit=\"selectors.core.image.lightboxObjectFit\" src=\"\" alt=\"\" class=\"wp-image-395\" \/><\/figure>\n<\/div>\n                <div class=\"scrim\" style=\"background-color: #fff\" aria-hidden=\"true\"><\/div>\n        <\/div><\/figure>\n\n\n\n<figure data-wp-context=\"{ &quot;core&quot;:\n\t\t\t\t{ &quot;image&quot;:\n\t\t\t\t\t{   &quot;imageLoaded&quot;: false,\n\t\t\t\t\t\t&quot;initialized&quot;: false,\n\t\t\t\t\t\t&quot;lightboxEnabled&quot;: false,\n\t\t\t\t\t\t&quot;hideAnimationEnabled&quot;: false,\n\t\t\t\t\t\t&quot;preloadInitialized&quot;: false,\n\t\t\t\t\t\t&quot;lightboxAnimation&quot;: &quot;zoom&quot;,\n\t\t\t\t\t\t&quot;imageUploadedSrc&quot;: &quot;https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/Immich.png&quot;,\n\t\t\t\t\t\t&quot;imageCurrentSrc&quot;: &quot;&quot;,\n\t\t\t\t\t\t&quot;targetWidth&quot;: &quot;1920&quot;,\n\t\t\t\t\t\t&quot;targetHeight&quot;: &quot;904&quot;,\n\t\t\t\t\t\t&quot;scaleAttr&quot;: &quot;&quot;,\n\t\t\t\t\t\t&quot;dialogLabel&quot;: &quot;Enlarged image&quot;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\" data-wp-interactive class=\"wp-block-image size-large is-style-default wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"482\" data-wp-effect--setStylesOnResize=\"effects.core.image.setStylesOnResize\" data-wp-effect=\"effects.core.image.setButtonStyles\" data-wp-init=\"effects.core.image.initOriginImage\" data-wp-on--click=\"actions.core.image.showLightbox\" data-wp-on--load=\"actions.core.image.handleLoad\" src=\"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/Immich-1024x482.png\" alt=\"\" class=\"wp-image-394\" srcset=\"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/Immich-1024x482.png 1024w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/Immich-300x141.png 300w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/Immich-768x362.png 768w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/Immich-1536x723.png 1536w, https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-content\/uploads\/sites\/37859\/2026\/04\/Immich.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-on--click=\"actions.core.image.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.core.image.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.core.image.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button>        <div data-wp-body=\"\" class=\"wp-lightbox-overlay zoom\"\n            data-wp-bind--role=\"selectors.core.image.roleAttribute\"\n            data-wp-bind--aria-label=\"selectors.core.image.dialogLabel\"\n            data-wp-class--initialized=\"context.core.image.initialized\"\n            data-wp-class--active=\"context.core.image.lightboxEnabled\"\n            data-wp-class--hideAnimationEnabled=\"context.core.image.hideAnimationEnabled\"\n            data-wp-bind--aria-modal=\"selectors.core.image.ariaModal\"\n            data-wp-effect=\"effects.core.image.initLightbox\"\n            data-wp-on--keydown=\"actions.core.image.handleKeydown\"\n            data-wp-on--touchstart=\"actions.core.image.handleTouchStart\"\n            data-wp-on--touchmove=\"actions.core.image.handleTouchMove\"\n            data-wp-on--touchend=\"actions.core.image.handleTouchEnd\"\n            data-wp-on--click=\"actions.core.image.hideLightbox\"\n            tabindex=\"-1\"\n            >\n                <button type=\"button\" aria-label=\"Close\" style=\"fill: #000\" class=\"close-button\" data-wp-on--click=\"actions.core.image.hideLightbox\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z\"><\/path><\/svg>\n                <\/button>\n                <div class=\"lightbox-image-container\">\n<figure class=\"wp-block-image size-large is-style-default responsive-image\"><img decoding=\"async\" data-wp-bind--src=\"context.core.image.imageCurrentSrc\" data-wp-style--object-fit=\"selectors.core.image.lightboxObjectFit\" src=\"\" alt=\"\" class=\"wp-image-394\" \/><\/figure>\n<\/div>\n                <div class=\"lightbox-image-container\">\n<figure class=\"wp-block-image size-large is-style-default enlarged-image\"><img decoding=\"async\" data-wp-bind--src=\"selectors.core.image.enlargedImgSrc\" data-wp-style--object-fit=\"selectors.core.image.lightboxObjectFit\" src=\"\" alt=\"\" class=\"wp-image-394\" \/><\/figure>\n<\/div>\n                <div class=\"scrim\" style=\"background-color: #fff\" aria-hidden=\"true\"><\/div>\n        <\/div><\/figure>\n<\/figure>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>With the hardware listing out of the way, let&#8217;s get a little more into the details of what my lab is actually running. The Scraps As you can see in <a class=\"more-link\" href=\"https:\/\/sites.wp.odu.edu\/tiaportfolio\/2026\/04\/07\/the-homelab-software-so-far\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":30178,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","wds_primary_category":3},"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-json\/wp\/v2\/posts\/381"}],"collection":[{"href":"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-json\/wp\/v2\/users\/30178"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-json\/wp\/v2\/comments?post=381"}],"version-history":[{"count":5,"href":"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-json\/wp\/v2\/posts\/381\/revisions"}],"predecessor-version":[{"id":401,"href":"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-json\/wp\/v2\/posts\/381\/revisions\/401"}],"wp:attachment":[{"href":"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-json\/wp\/v2\/media?parent=381"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-json\/wp\/v2\/categories?post=381"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sites.wp.odu.edu\/tiaportfolio\/wp-json\/wp\/v2\/tags?post=381"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}