added new post

This commit is contained in:
2026-02-12 11:17:02 -05:00
commit 8c3ae79399
47 changed files with 4157 additions and 0 deletions

View File

@@ -0,0 +1,201 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Begin Jekyll SEO tag v2.8.0 -->
<title>tech infrastructure unpacked: from cloud to home server | d@n tech</title>
<meta name="generator" content="Jekyll v4.3.4" />
<meta property="og:title" content="tech infrastructure unpacked: from cloud to home server" />
<meta name="author" content="dustin newkirk" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Introduction: Sit back and grab a coffee Welcome to a behind-the-scenes look at the infrastructure powering my websites, Dustin.coffee and Hobokenchicken.com. In this post, Ill lay out the complexities and intricacies of my personal tech setup, demonstrating the importance of reliability, technical skills, and the sheer appreciation of a well-built system. Section 1: Domain and DNS Configuration -Cloudflare for DNS Management Why the Switch? I transitioned to Cloudflare for managing the DNS of dustin.coffee and hobokenchicken.com after Google Domains shut down. Understanding DNS Management: Think of DNS (Domain Name System) management like a coffee shops menu. It helps people find my websites using easy-to-remember names (like dustin.coffee) instead of complex numerical addresses, much like how youd order a “Caramel Macchiato” instead of remembering a specific recipe. Choosing Cloudflare: Cloudflare is renowned for its speed and security, akin to a highly efficient and safe coffee shop where your order is always secure and served quickly. Content Delivery Network (CDN) Explained: Cloudflare includes a CDN, which can be likened to having multiple coffee stations in a large office. Instead of everyone queuing at one station, causing delays, there are several stations strategically placed around the office. This setup means that no matter where you are in the office, you can get your coffee quickly. In the same way, the CDN ensures that the static content of my websites (like images and stylesheets that dont change often) is stored in various locations on the internet, so its served faster to you, the visitor, no matter where you are." />
<meta property="og:description" content="Introduction: Sit back and grab a coffee Welcome to a behind-the-scenes look at the infrastructure powering my websites, Dustin.coffee and Hobokenchicken.com. In this post, Ill lay out the complexities and intricacies of my personal tech setup, demonstrating the importance of reliability, technical skills, and the sheer appreciation of a well-built system. Section 1: Domain and DNS Configuration -Cloudflare for DNS Management Why the Switch? I transitioned to Cloudflare for managing the DNS of dustin.coffee and hobokenchicken.com after Google Domains shut down. Understanding DNS Management: Think of DNS (Domain Name System) management like a coffee shops menu. It helps people find my websites using easy-to-remember names (like dustin.coffee) instead of complex numerical addresses, much like how youd order a “Caramel Macchiato” instead of remembering a specific recipe. Choosing Cloudflare: Cloudflare is renowned for its speed and security, akin to a highly efficient and safe coffee shop where your order is always secure and served quickly. Content Delivery Network (CDN) Explained: Cloudflare includes a CDN, which can be likened to having multiple coffee stations in a large office. Instead of everyone queuing at one station, causing delays, there are several stations strategically placed around the office. This setup means that no matter where you are in the office, you can get your coffee quickly. In the same way, the CDN ensures that the static content of my websites (like images and stylesheets that dont change often) is stored in various locations on the internet, so its served faster to you, the visitor, no matter where you are." />
<link rel="canonical" href="https://dustin.coffee/tech/2024/01/11/tech-infrastructure-unpacked-from-cloud-to-home-server.html" />
<meta property="og:url" content="https://dustin.coffee/tech/2024/01/11/tech-infrastructure-unpacked-from-cloud-to-home-server.html" />
<meta property="og:site_name" content="d@n tech" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2024-01-11T00:00:00-05:00" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="tech infrastructure unpacked: from cloud to home server" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"dustin newkirk"},"dateModified":"2024-01-11T00:00:00-05:00","datePublished":"2024-01-11T00:00:00-05:00","description":"Introduction: Sit back and grab a coffee Welcome to a behind-the-scenes look at the infrastructure powering my websites, Dustin.coffee and Hobokenchicken.com. In this post, Ill lay out the complexities and intricacies of my personal tech setup, demonstrating the importance of reliability, technical skills, and the sheer appreciation of a well-built system. Section 1: Domain and DNS Configuration -Cloudflare for DNS Management Why the Switch? I transitioned to Cloudflare for managing the DNS of dustin.coffee and hobokenchicken.com after Google Domains shut down. Understanding DNS Management: Think of DNS (Domain Name System) management like a coffee shops menu. It helps people find my websites using easy-to-remember names (like dustin.coffee) instead of complex numerical addresses, much like how youd order a “Caramel Macchiato” instead of remembering a specific recipe. Choosing Cloudflare: Cloudflare is renowned for its speed and security, akin to a highly efficient and safe coffee shop where your order is always secure and served quickly. Content Delivery Network (CDN) Explained: Cloudflare includes a CDN, which can be likened to having multiple coffee stations in a large office. Instead of everyone queuing at one station, causing delays, there are several stations strategically placed around the office. This setup means that no matter where you are in the office, you can get your coffee quickly. In the same way, the CDN ensures that the static content of my websites (like images and stylesheets that dont change often) is stored in various locations on the internet, so its served faster to you, the visitor, no matter where you are.","headline":"tech infrastructure unpacked: from cloud to home server","mainEntityOfPage":{"@type":"WebPage","@id":"https://dustin.coffee/tech/2024/01/11/tech-infrastructure-unpacked-from-cloud-to-home-server.html"},"url":"https://dustin.coffee/tech/2024/01/11/tech-infrastructure-unpacked-from-cloud-to-home-server.html"}</script>
<!-- End Jekyll SEO tag -->
<meta name="keywords" content="" />
<meta name="google-adsense-account" content="ca-pub-5033279084799102">
<link rel="shortcut icon" href="/assets/logos/dn-tech-favicon-color.png" />
<link rel="apple-touch-icon" href="/assets/logos/logo-color.png"/>
<link rel="stylesheet" type="text/css" href="/assets/css/styles.css" />
<link rel="stylesheet" type="text/css" href="/assets/css/prism.css" />
<script src="/assets/js/prism.js"></script>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5033279084799102"
crossorigin="anonymous"></script>
</head>
<body>
<div class="wrapper">
<header class="wrapper-header">
<div class="header">
<h1>d@n tech</h1>
<br>
<h5><i>Caffinated Tech Insights</i></h5>
<br>
<nav>
<a href="/">About & Contact</a>
<a href="/posts">Posts</a>
<a href="/categories/">Categories</a>
<a href="/resume">Resume</a>
</nav>
<hr>
</div>
</header>
<main class="wrapper-main">
<div class="main-content">
<div class="post-info">
<h2>tech infrastructure unpacked: from cloud to home server</h2>
<p>11 Jan 2024 - </p>
</div>
<div class="post-content">
<h4 id="introduction-sit-back-and-grab-a-coffee">Introduction: Sit back and grab a coffee</h4>
<p>Welcome to a behind-the-scenes look at the infrastructure powering my websites, Dustin.coffee and Hobokenchicken.com. In this post, Ill lay out the complexities and intricacies of my personal tech setup, demonstrating the importance of reliability, technical skills, and the sheer appreciation of a well-built system.</p>
<h4 id="section-1-domain-and-dns-configuration">Section 1: Domain and DNS Configuration</h4>
<p>-<strong>Cloudflare for DNS Management</strong></p>
<ul>
<li><strong>Why the Switch?</strong> I transitioned to Cloudflare for managing the DNS of dustin.coffee and hobokenchicken.com after Google Domains shut down.</li>
<li><strong>Understanding DNS Management:</strong> Think of DNS (Domain Name System) management like a coffee shops menu. It helps people find my websites using easy-to-remember names (like dustin.coffee) instead of complex numerical addresses, much like how youd order a “Caramel Macchiato” instead of remembering a specific recipe.</li>
<li><strong>Choosing Cloudflare:</strong> Cloudflare is renowned for its speed and security, akin to a highly efficient and safe coffee shop where your order is always secure and served quickly.</li>
<li><strong>Content Delivery Network (CDN) Explained:</strong> Cloudflare includes a CDN, which can be likened to having multiple coffee stations in a large office. Instead of everyone queuing at one station, causing delays, there are several stations strategically placed around the office. This setup means that no matter where you are in the office, you can get your coffee quickly. In the same way, the CDN ensures that the static content of my websites (like images and stylesheets that dont change often) is stored in various locations on the internet, so its served faster to you, the visitor, no matter where you are.</li>
</ul>
<h4 id="section-2-oracle-vps-and-its-role">Section 2: Oracle VPS and Its Role</h4>
<ul>
<li><strong>Choosing Oracle VPS:</strong> Think of Oracle VPS as a reliable and affordable storage unit for my websites digital data. After exploring options like Google Cloud and Hetzner, Oracle VPS stood out for its excellent free tier, offering just the right balance of space and features for my needs. And with the balooning costs of Google and Hetzner, Oracles free tier had exactly what I wanted and needed for no cost.</li>
<li><strong>Making Connections Work:</strong></li>
<li><strong>Nginx Proxy Manager:</strong> This is akin to a smart sorting system in a post office. When someone requests to view my website, Nginx Proxy Manager efficiently directs this request to the right destination. It ensures that every digital letter (or in this case, a request to access my website) is sorted and sent to the correct mailbox (my server).</li>
<li><strong>Tailscale:</strong> Imagine Tailscale as a secure and private delivery service. It safely transports information from my Oracle VPS (the digital storage unit) to my home server (the house where my website lives). Tailscale ensures this digital journey is secure, keeping the data safe from any unwanted interference.</li>
<li><strong>How They Work Together:</strong></li>
<li>The data journey starts when you type in my websites address. This request travels to Cloudflare (the DNS manager), which acts like a directory, pointing the request to the Oracle VPS.</li>
<li>Next, the Oracle VPS, equipped with the Nginx Proxy Manager, receives this request. Nginx checks where the request needs to go in this case, its directed to my home server.</li>
<li>Tailscale then steps in, creating a secure path for this request to travel from the Oracle VPS to my home server. This ensures that the data remains private and secure as it makes its way to the server.</li>
<li>Once the request arrives at my home server, the server processes it and sends back the requested web page or information via the same secure route, back to your screen.
This setup ensures a smooth, secure, and efficient flow of data, from the moment you request to view my website to the moment the content is displayed on your screen.</li>
</ul>
<h4 id="section-3-the-home-server---heart-of-the-operation">Section 3: The Home Server - Heart of the Operation</h4>
<ul>
<li><strong>Server Specifications:</strong></li>
<li>My home server, a Dell r720xd, is the workhorse behind my entire setup. Its designed to handle demanding tasks with ease. Heres a quick rundown of what it packs:
<ul>
<li><strong>Processors:</strong> It boasts 2x Xeon E5-2695v2 CPUs. These processors are like the brains of the server, handling multiple tasks simultaneously without breaking a sweat.</li>
<li><strong>Memory:</strong> With 378GB of RAM, its like having a vast workspace, allowing me to run several applications and processes concurrently without any lag.</li>
<li><strong>Storage:</strong> For quick access and operations, it has 2x 1TB SSDs. These are like the top drawers of a desk, where I keep frequently used tools. For larger, less frequently accessed data, there are 12 10TB SAS HDDs, acting like a massive filing cabinet, offering ample space.</li>
</ul>
</li>
<li>This combination of processors, memory, and storage means the server can manage heavy data loads, run multiple services smoothly, and store a vast amount of data perfect for my varied needs.</li>
<li><strong>Tailscale Subnet Router VM:</strong>
<ul>
<li>This particular VM (Virtual Machine) plays a unique role. Its set up as a subnet router for Tailscale. To understand its function, imagine Tailscale as a secure, private network connecting various devices. Normally, each device (or in my case, each LXC container) would need its own Tailscale setup, which can be like having a separate security system for each room in a house.</li>
<li>What the Tailscale Subnet Router VM does is act like a central security system for the entire house. It means that instead of setting up Tailscale on every individual LXC container, they all automatically get secure access through this VM. This setup simplifies management, enhances security, and ensures that each part of my server communicates securely with the outside world.</li>
</ul>
</li>
<li><strong>A Note on Server Age and Ko-fi Initiative:</strong></li>
<li>While my Dell r720xd server has been a reliable cornerstone of my digital infrastructure, its important to note that its part of an aging platform. In the tech world, this is akin to having a classic car - it has its charm and capabilities, but it also requires maintenance and eventual upgrades to keep up with modern demands and efficiencies.</li>
<li>To address this, Ive started a Ko-fi initiative. Think of Ko-fi as a digital tip jar where supporters can contribute small amounts to help fund upgrades and maintenance for the server. This initiative is all about ensuring that my server continues to run smoothly and remains capable of supporting the latest technologies and my growing needs. Contributions will go directly towards hardware upgrades, ensuring that the server remains robust, secure, and efficient.</li>
<li>If you appreciate the content and services I provide and want to support the longevity and improvement of this setup, consider contributing to my Ko-fi. Every little bit helps in keeping this digital engine running at its best!</li>
</ul>
<h4 id="section-4-lxc-containers-and-services">Section 4: LXC Containers and Services</h4>
<ul>
<li><strong>Plex with GPU Passthrough:</strong></li>
<li>My Plex server is a key component of my home entertainment system. By utilizing GPU passthrough, the servers graphics processing capabilities are significantly enhanced. This means smoother, higher-quality video transcoding, allowing for a better viewing experience on various devices, regardless of their native format compatibility.</li>
<li><strong>Calibre-web in Docker:</strong>
<ul>
<li>Calibre-web, hosted in a Docker container, serves as a digital library. Its primarily used for managing and providing access to a wide range of college textbooks and educational materials for students I support. This setup simplifies the process of storing, accessing, and reading these books, making it an invaluable resource for their academic needs.</li>
</ul>
</li>
<li><strong>Jekyll Blog Hosting:</strong>
<ul>
<li>For my Jekyll blog, Ive tailored a hosting environment that allows for efficient management and seamless content updates. This setup ensures that my blog remains responsive, secure, and easy to navigate, offering visitors a pleasant reading experience.</li>
</ul>
</li>
<li><strong>Foundry Server for Pathfinder:</strong>
<ul>
<li>The Foundry server is dedicated to hosting Pathfinder role-playing games. Its one of my oldest and most cherished projects, co-managed with another Dungeon Master. This server provides a rich, interactive platform for our gaming sessions, complete with maps, character sheets, and real-time updates, enhancing our Pathfinder experiences.</li>
</ul>
</li>
<li><strong>Arr Stack in Docker:</strong>
<ul>
<li>The Arr stack, hosted within Docker, comprises several components including Prowlarr, Radarr, Sonarr, Sabnzbd, Lidarr, Bazarr, Overseer, Tautulli, Deemix, and Homarr. Each of these components plays a specific role, from managing TV show downloads (Sonarr) to handling music (Lidarr), and even tracking and analyzing Plex usage (Tautulli). This stack represents a comprehensive media management solution, catering to various entertainment needs.</li>
</ul>
</li>
<li><strong>Mealie Website for Recipes:</strong>
<ul>
<li>Mealie is a recent addition to my setup, currently in the testing phase. Its a web application for meal planning, recipe storage, and generating shopping lists. This tool is aimed at simplifying the process of deciding what to eat, preparing meals, and shopping for ingredients, streamlining the entire culinary experience in my household.</li>
</ul>
</li>
</ul>
<h4 id="section-5-data-flow-and-security">Section 5: Data Flow and Security</h4>
<ul>
<li><strong>Overview of Data Flow</strong>
<ul>
<li>Ill provide a diagram and a thorough explanation of how data moves through this intricate setup.</li>
</ul>
</li>
<li><strong>Security Measures</strong>
<ul>
<li>Discussion of the various security measures in place, especially focusing on the role of Tailscale and other precautions Ive implemented.</li>
</ul>
</li>
</ul>
<h4 id="conclusion-bringing-it-all-together">Conclusion: Bringing It All Together</h4>
<p>As weve journeyed through the various components of my digital setup from DNS management with Cloudflare to the intricacies of my home server and LXC containers its clear that managing such a system requires a blend of technical know-how, strategic planning, and a passion for technology.</p>
<p>The complexity of this setup not only showcases the dynamic nature of tech infrastructure but also highlights the importance of ongoing learning and adaptation. Whether its handling the transition from Google Domains to Cloudflare, optimizing the use of Oracle VPS, or maintaining the myriad services on my Dell r720xd, each element plays a crucial role in delivering a seamless digital experience.</p>
<p>Beyond the technical aspects, this journey is also about the community and the shared experiences. From hosting Pathfinder games to providing educational resources through Calibre-web, each service has its unique impact.</p>
<p>As technology continues to evolve, so will the components of my setup. Im excited to continue sharing these developments, insights, and stories with you. Your feedback, questions, and support especially through initiatives like the Ko-fi for server upgrades are what make this journey enriching and worthwhile.</p>
<p>Thank you for taking the time to delve into the world of dustin.coffee and hobokenchicken.com. I hope this glimpse behind the scenes not only informs but also inspires you in your own tech endeavors.</p>
</div>
</div>
</main>
</div>
<footer class="wrapper-footer">
<div class="footer">
<span class="footer-text float-left">This work is licensed under <a rel="license" href="https://www.gnu.org/licenses/gpl-3.0.en.html" target="_blank">GPLv3</a></span>
<span class="footer-text float-right">
Site Updated: 2025-07-29 ET (<a href="/feed.xml" target="_blank">RSS</a>)
</span>
</div>
<script src='https://storage.ko-fi.com/cdn/scripts/overlay-widget.js'></script>
<script>
kofiWidgetOverlay.draw('dustinnewkirk', {
'type': 'floating-chat',
'floating-chat.donateButton.text': 'Support Me',
'floating-chat.donateButton.background-color': '#ff851b',
'floating-chat.donateButton.text-color': '#3D2200'
});
</script>
</footer>
</body>
</html>

View File

@@ -0,0 +1,124 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Begin Jekyll SEO tag v2.8.0 -->
<title>transitioning from lxc to vms: preparing for xcp-ng | d@n tech</title>
<meta name="generator" content="Jekyll v4.3.4" />
<meta property="og:title" content="transitioning from lxc to vms: preparing for xcp-ng" />
<meta name="author" content="dustin newkirk" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Introduction: In this latest discussion at d@n tech, were focusing on a significant transition in the server environment. Ive recently embarked on a project to shift from LXC containers to VMs (Virtual Machines), a move prompted by upcoming changes in the server infrastructure. Why the Shift?: The move away from LXC containers, a staple in my Proxmox setup, to VMs is driven by a need for greater flexibility and platform independence. With plans to eventually migrate to XCP-NG from Proxmox, VMs present a more viable option due to their portability and compatibility with various platforms. The Transition Process: Evaluation: The initial phase involved assessing the existing LXC configurations, understanding the nuances of their deployment within Proxmox. Selecting the VM Platform: After exploring various options, I settled on a VM platform that complements the forthcoming XCP-NG environment. Migration Strategy: I planned the migration in stages, aiming to minimize disruptions and ensure data integrity throughout the process. Implementation: The services were methodically transitioned from LXC to VMs, with each step rigorously tested for performance and functionality. Post-Migration Optimization: Following the migration, Ive been focusing on fine-tuning the VMs to optimize their performance in the new environment. Upcoming Changes: The most significant upcoming change is the construction and deployment of a new server that will run XCP-NG. This shift marks a departure from the current Proxmox setup. Once the new server is built and put into production, the VMs, currently housed within Proxmox, will be migrated over to XCP-NG. This transition is not just a change in technology but a strategic move towards a more versatile and robust server ecosystem. Challenges and Learnings: Navigating through this transition hasnt been straightforward. From compatibility checks to performance tuning, each step presented its own set of challenges. However, these hurdles have provided valuable insights into both Proxmox and XCP-NG platforms. Conclusion: This journey from LXC containers to VMs, culminating in the move to XCP-NG, is more than a technical upgrade. Its a step towards future-proofing the server environment, ensuring I stay agile and adaptable in the ever-evolving tech landscape. Looking Ahead at d@n tech: As we move closer to the full deployment of the XCP-NG server, stay tuned for more updates, insights, and learnings from this journey." />
<meta property="og:description" content="Introduction: In this latest discussion at d@n tech, were focusing on a significant transition in the server environment. Ive recently embarked on a project to shift from LXC containers to VMs (Virtual Machines), a move prompted by upcoming changes in the server infrastructure. Why the Shift?: The move away from LXC containers, a staple in my Proxmox setup, to VMs is driven by a need for greater flexibility and platform independence. With plans to eventually migrate to XCP-NG from Proxmox, VMs present a more viable option due to their portability and compatibility with various platforms. The Transition Process: Evaluation: The initial phase involved assessing the existing LXC configurations, understanding the nuances of their deployment within Proxmox. Selecting the VM Platform: After exploring various options, I settled on a VM platform that complements the forthcoming XCP-NG environment. Migration Strategy: I planned the migration in stages, aiming to minimize disruptions and ensure data integrity throughout the process. Implementation: The services were methodically transitioned from LXC to VMs, with each step rigorously tested for performance and functionality. Post-Migration Optimization: Following the migration, Ive been focusing on fine-tuning the VMs to optimize their performance in the new environment. Upcoming Changes: The most significant upcoming change is the construction and deployment of a new server that will run XCP-NG. This shift marks a departure from the current Proxmox setup. Once the new server is built and put into production, the VMs, currently housed within Proxmox, will be migrated over to XCP-NG. This transition is not just a change in technology but a strategic move towards a more versatile and robust server ecosystem. Challenges and Learnings: Navigating through this transition hasnt been straightforward. From compatibility checks to performance tuning, each step presented its own set of challenges. However, these hurdles have provided valuable insights into both Proxmox and XCP-NG platforms. Conclusion: This journey from LXC containers to VMs, culminating in the move to XCP-NG, is more than a technical upgrade. Its a step towards future-proofing the server environment, ensuring I stay agile and adaptable in the ever-evolving tech landscape. Looking Ahead at d@n tech: As we move closer to the full deployment of the XCP-NG server, stay tuned for more updates, insights, and learnings from this journey." />
<link rel="canonical" href="https://dustin.coffee/tech/2024/03/04/changes-are-brewing.html" />
<meta property="og:url" content="https://dustin.coffee/tech/2024/03/04/changes-are-brewing.html" />
<meta property="og:site_name" content="d@n tech" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2024-03-04T00:00:00-05:00" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="transitioning from lxc to vms: preparing for xcp-ng" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"dustin newkirk"},"dateModified":"2024-03-04T00:00:00-05:00","datePublished":"2024-03-04T00:00:00-05:00","description":"Introduction: In this latest discussion at d@n tech, were focusing on a significant transition in the server environment. Ive recently embarked on a project to shift from LXC containers to VMs (Virtual Machines), a move prompted by upcoming changes in the server infrastructure. Why the Shift?: The move away from LXC containers, a staple in my Proxmox setup, to VMs is driven by a need for greater flexibility and platform independence. With plans to eventually migrate to XCP-NG from Proxmox, VMs present a more viable option due to their portability and compatibility with various platforms. The Transition Process: Evaluation: The initial phase involved assessing the existing LXC configurations, understanding the nuances of their deployment within Proxmox. Selecting the VM Platform: After exploring various options, I settled on a VM platform that complements the forthcoming XCP-NG environment. Migration Strategy: I planned the migration in stages, aiming to minimize disruptions and ensure data integrity throughout the process. Implementation: The services were methodically transitioned from LXC to VMs, with each step rigorously tested for performance and functionality. Post-Migration Optimization: Following the migration, Ive been focusing on fine-tuning the VMs to optimize their performance in the new environment. Upcoming Changes: The most significant upcoming change is the construction and deployment of a new server that will run XCP-NG. This shift marks a departure from the current Proxmox setup. Once the new server is built and put into production, the VMs, currently housed within Proxmox, will be migrated over to XCP-NG. This transition is not just a change in technology but a strategic move towards a more versatile and robust server ecosystem. Challenges and Learnings: Navigating through this transition hasnt been straightforward. From compatibility checks to performance tuning, each step presented its own set of challenges. However, these hurdles have provided valuable insights into both Proxmox and XCP-NG platforms. Conclusion: This journey from LXC containers to VMs, culminating in the move to XCP-NG, is more than a technical upgrade. Its a step towards future-proofing the server environment, ensuring I stay agile and adaptable in the ever-evolving tech landscape. Looking Ahead at d@n tech: As we move closer to the full deployment of the XCP-NG server, stay tuned for more updates, insights, and learnings from this journey.","headline":"transitioning from lxc to vms: preparing for xcp-ng","mainEntityOfPage":{"@type":"WebPage","@id":"https://dustin.coffee/tech/2024/03/04/changes-are-brewing.html"},"url":"https://dustin.coffee/tech/2024/03/04/changes-are-brewing.html"}</script>
<!-- End Jekyll SEO tag -->
<meta name="keywords" content="" />
<meta name="google-adsense-account" content="ca-pub-5033279084799102">
<link rel="shortcut icon" href="/assets/logos/dn-tech-favicon-color.png" />
<link rel="apple-touch-icon" href="/assets/logos/logo-color.png"/>
<link rel="stylesheet" type="text/css" href="/assets/css/styles.css" />
<link rel="stylesheet" type="text/css" href="/assets/css/prism.css" />
<script src="/assets/js/prism.js"></script>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5033279084799102"
crossorigin="anonymous"></script>
</head>
<body>
<div class="wrapper">
<header class="wrapper-header">
<div class="header">
<h1>d@n tech</h1>
<br>
<h5><i>Caffinated Tech Insights</i></h5>
<br>
<nav>
<a href="/">About & Contact</a>
<a href="/posts">Posts</a>
<a href="/categories/">Categories</a>
<a href="/resume">Resume</a>
</nav>
<hr>
</div>
</header>
<main class="wrapper-main">
<div class="main-content">
<div class="post-info">
<h2>transitioning from lxc to vms: preparing for xcp-ng</h2>
<p>04 Mar 2024 - </p>
</div>
<div class="post-content">
<h4 id="introduction">Introduction:</h4>
<p>In this latest discussion at d@n tech, were focusing on a significant transition in the server environment. Ive recently embarked on a project to shift from LXC containers to VMs (Virtual Machines), a move prompted by upcoming changes in the server infrastructure.</p>
<h4 id="why-the-shift">Why the Shift?:</h4>
<p>The move away from LXC containers, a staple in my Proxmox setup, to VMs is driven by a need for greater flexibility and platform independence. With plans to eventually migrate to XCP-NG from Proxmox, VMs present a more viable option due to their portability and compatibility with various platforms.</p>
<h4 id="the-transition-process">The Transition Process:</h4>
<ul>
<li><strong>Evaluation:</strong> The initial phase involved assessing the existing LXC configurations, understanding the nuances of their deployment within Proxmox.</li>
<li><strong>Selecting the VM Platform:</strong> After exploring various options, I settled on a VM platform that complements the forthcoming XCP-NG environment.</li>
<li><strong>Migration Strategy:</strong> I planned the migration in stages, aiming to minimize disruptions and ensure data integrity throughout the process.</li>
<li><strong>Implementation:</strong> The services were methodically transitioned from LXC to VMs, with each step rigorously tested for performance and functionality.</li>
<li><strong>Post-Migration Optimization:</strong> Following the migration, Ive been focusing on fine-tuning the VMs to optimize their performance in the new environment.</li>
</ul>
<h4 id="upcoming-changes">Upcoming Changes:</h4>
<p>The most significant upcoming change is the construction and deployment of a new server that will run XCP-NG. This shift marks a departure from the current Proxmox setup. Once the new server is built and put into production, the VMs, currently housed within Proxmox, will be migrated over to XCP-NG. This transition is not just a change in technology but a strategic move towards a more versatile and robust server ecosystem.</p>
<h4 id="challenges-and-learnings">Challenges and Learnings:</h4>
<p>Navigating through this transition hasnt been straightforward. From compatibility checks to performance tuning, each step presented its own set of challenges. However, these hurdles have provided valuable insights into both Proxmox and XCP-NG platforms.</p>
<h4 id="conclusion">Conclusion:</h4>
<p>This journey from LXC containers to VMs, culminating in the move to XCP-NG, is more than a technical upgrade. Its a step towards future-proofing the server environment, ensuring I stay agile and adaptable in the ever-evolving tech landscape.</p>
<h4 id="looking-ahead-at-dn-tech">Looking Ahead at d@n tech:</h4>
<p>As we move closer to the full deployment of the XCP-NG server, stay tuned for more updates, insights, and learnings from this journey.</p>
</div>
</div>
</main>
</div>
<footer class="wrapper-footer">
<div class="footer">
<span class="footer-text float-left">This work is licensed under <a rel="license" href="https://www.gnu.org/licenses/gpl-3.0.en.html" target="_blank">GPLv3</a></span>
<span class="footer-text float-right">
Site Updated: 2025-07-29 ET (<a href="/feed.xml" target="_blank">RSS</a>)
</span>
</div>
<script src='https://storage.ko-fi.com/cdn/scripts/overlay-widget.js'></script>
<script>
kofiWidgetOverlay.draw('dustinnewkirk', {
'type': 'floating-chat',
'floating-chat.donateButton.text': 'Support Me',
'floating-chat.donateButton.background-color': '#ff851b',
'floating-chat.donateButton.text-color': '#3D2200'
});
</script>
</footer>
</body>
</html>

View File

@@ -0,0 +1,114 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Begin Jekyll SEO tag v2.8.0 -->
<title>brewing resilience: from lxc to vm for flawless plex and beyond | d@n tech</title>
<meta name="generator" content="Jekyll v4.3.4" />
<meta property="og:title" content="brewing resilience: from lxc to vm for flawless plex and beyond" />
<meta name="author" content="dustin newkirk" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Introduction: Hey everyone, its time for another tech update from d@n tech! Recently, I made a significant change to my Plex server setup that Im excited to share with you all. After encountering issues with hardware transcoding, I decided to transition my Plex server from an LXC container to a VM, utilizing GPU passthrough for flawless transcoding performance." />
<meta property="og:description" content="Introduction: Hey everyone, its time for another tech update from d@n tech! Recently, I made a significant change to my Plex server setup that Im excited to share with you all. After encountering issues with hardware transcoding, I decided to transition my Plex server from an LXC container to a VM, utilizing GPU passthrough for flawless transcoding performance." />
<link rel="canonical" href="https://dustin.coffee/tech/2024/03/27/brewing-resilience-from-lxc-to-vm-for-flawless-plex-and-beyond.html" />
<meta property="og:url" content="https://dustin.coffee/tech/2024/03/27/brewing-resilience-from-lxc-to-vm-for-flawless-plex-and-beyond.html" />
<meta property="og:site_name" content="d@n tech" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2024-03-27T00:00:00-04:00" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="brewing resilience: from lxc to vm for flawless plex and beyond" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"dustin newkirk"},"dateModified":"2024-03-27T00:00:00-04:00","datePublished":"2024-03-27T00:00:00-04:00","description":"Introduction: Hey everyone, its time for another tech update from d@n tech! Recently, I made a significant change to my Plex server setup that Im excited to share with you all. After encountering issues with hardware transcoding, I decided to transition my Plex server from an LXC container to a VM, utilizing GPU passthrough for flawless transcoding performance.","headline":"brewing resilience: from lxc to vm for flawless plex and beyond","mainEntityOfPage":{"@type":"WebPage","@id":"https://dustin.coffee/tech/2024/03/27/brewing-resilience-from-lxc-to-vm-for-flawless-plex-and-beyond.html"},"url":"https://dustin.coffee/tech/2024/03/27/brewing-resilience-from-lxc-to-vm-for-flawless-plex-and-beyond.html"}</script>
<!-- End Jekyll SEO tag -->
<meta name="keywords" content="" />
<meta name="google-adsense-account" content="ca-pub-5033279084799102">
<link rel="shortcut icon" href="/assets/logos/dn-tech-favicon-color.png" />
<link rel="apple-touch-icon" href="/assets/logos/logo-color.png"/>
<link rel="stylesheet" type="text/css" href="/assets/css/styles.css" />
<link rel="stylesheet" type="text/css" href="/assets/css/prism.css" />
<script src="/assets/js/prism.js"></script>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5033279084799102"
crossorigin="anonymous"></script>
</head>
<body>
<div class="wrapper">
<header class="wrapper-header">
<div class="header">
<h1>d@n tech</h1>
<br>
<h5><i>Caffinated Tech Insights</i></h5>
<br>
<nav>
<a href="/">About & Contact</a>
<a href="/posts">Posts</a>
<a href="/categories/">Categories</a>
<a href="/resume">Resume</a>
</nav>
<hr>
</div>
</header>
<main class="wrapper-main">
<div class="main-content">
<div class="post-info">
<h2>brewing resilience: from lxc to vm for flawless plex and beyond</h2>
<p>27 Mar 2024 - </p>
</div>
<div class="post-content">
<h4 id="introduction">Introduction:</h4>
<p>Hey everyone, its time for another tech update from d@n tech! Recently, I made a significant change to my Plex server setup that Im excited to share with you all. After encountering issues with hardware transcoding, I decided to transition my Plex server from an LXC container to a VM, utilizing GPU passthrough for flawless transcoding performance.</p>
<h4 id="the-importance-of-hardware-transcoding-and-gpu-passthrough">The Importance of Hardware Transcoding and GPU Passthrough:</h4>
<p>Before diving into the transition process, lets talk about why hardware transcoding and GPU passthrough are crucial for a smooth Plex experience. Hardware transcoding offloads the burden of video transcoding from the CPU to specialized hardware, such as a GPU. This results in lower CPU usage, faster transcoding speeds, and better playback performance, especially for remote streaming or multiple concurrent streams. GPU passthrough allows a virtual machine to directly access and utilize a physical GPU, ensuring optimal performance for tasks like video encoding and decoding.</p>
<h4 id="encountering-issues-and-making-the-transition">Encountering Issues and Making the Transition:</h4>
<p>A couple of weeks ago, I noticed that hardware transcoding on my Plex server was no longer functioning properly. After troubleshooting for hours, I discovered that something had broken, preventing the GPU from being utilized for transcoding within the LXC container. Faced with this dilemma, I decided to take the plunge and convert my Plex server to a VM, passing the GPU directly to the VM for optimal performance.</p>
<h4 id="the-transition-process">The Transition Process:</h4>
<p>Converting the Plex server from an LXC container to a VM was no small feat, but it was well worth the effort. I spent several hours meticulously configuring the VM and setting up GPU passthrough. Once everything was in place, I fired up Plex and was thrilled to see hardware transcoding working flawlessly once again. The difference in performance was like night and day, with smoother playback and reduced CPU load.</p>
<h4 id="conclusion">Conclusion:</h4>
<p>The transition from LXC to VM with GPU passthrough has revitalized my Plex server, ensuring seamless streaming experiences for users across the United States. With hardware transcoding back on track, remote streaming is once again smooth and reliable, regardless of the distance. Beyond Plex, this change underscores the significance of leveraging hardware acceleration and GPU passthrough for a wide range of services hosted on my server. From media streaming to collaborative projects and beyond, the improved performance enhances the overall user experience and reinforces the reliability of my server infrastructure.</p>
<h4 id="stay-tuned">Stay Tuned:</h4>
<p>As I continue to fine-tune my server setup and explore new technologies, including optimizations for remote streaming and enhancements to various hosted services, be sure to stay tuned for more updates and insights here at d@n tech. Whether youre a fellow tech enthusiast or a remote user enjoying the benefits of my server, theres always something new on the horizon.</p>
</div>
</div>
</main>
</div>
<footer class="wrapper-footer">
<div class="footer">
<span class="footer-text float-left">This work is licensed under <a rel="license" href="https://www.gnu.org/licenses/gpl-3.0.en.html" target="_blank">GPLv3</a></span>
<span class="footer-text float-right">
Site Updated: 2025-07-29 ET (<a href="/feed.xml" target="_blank">RSS</a>)
</span>
</div>
<script src='https://storage.ko-fi.com/cdn/scripts/overlay-widget.js'></script>
<script>
kofiWidgetOverlay.draw('dustinnewkirk', {
'type': 'floating-chat',
'floating-chat.donateButton.text': 'Support Me',
'floating-chat.donateButton.background-color': '#ff851b',
'floating-chat.donateButton.text-color': '#3D2200'
});
</script>
</footer>
</body>
</html>

View File

@@ -0,0 +1,113 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Begin Jekyll SEO tag v2.8.0 -->
<title>when the coffee gets cold: recent adventures in my tech homelab | d@n tech</title>
<meta name="generator" content="Jekyll v4.3.4" />
<meta property="og:title" content="when the coffee gets cold: recent adventures in my tech homelab" />
<meta name="author" content="dustin newkirk" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="A Not-So-Smooth Brew: Plex VM Crash Just like the perfect cup of coffee, my Plex Media Server has always been a source of comfort. However, recently, it decided to give me a bit of a jolt. The Plex VM crashed, which felt like spilling a fresh brew all over the counter. Thankfully, no media was lost. But, just like trying to clean up a coffee spill, restoring the backup didnt go as planned. Instead of throwing in the towel, I rolled up my sleeves and rebuilt the VM from scratch. In the end, it was like discovering a new coffee blend different, but better. I made some significant changes that improved the performance and reliability of the server. Sometimes, the best way to deal with a mess is to embrace the opportunity to improve. Fresh Beans: Upgrading the Server In the quest for better performance, I decided it was time for a hardware upgrade. I purchased 8 Xeon Gold 6138 processors, two per node, and got one node up and running for testing. It was like upgrading from instant coffee to a high-end espresso machine. The server feels more powerful and ready to handle anything I throw at it. However, before I can start moving my VMs, I need to invest in more RAM. For now, the new node is up and running, and Ive tested moving VMs from Proxmox to XCP-NG. The process was smooth, with no issues like making a seamless transition from drip coffee to a French press. Everything worked perfectly, setting the stage for future migrations. Scheduled Downtime: Brewing the Perfect Cup As any coffee aficionado knows, good things take time. Similarly, my server setup will require some planned downtime in the last week of July into early August. While this might feel like waiting for your morning coffee to brew, I assure you its worth it. There will be no loss of data, although services will be temporarily impacted. This downtime is necessary to ensure everything is running as smoothly as a freshly brewed cup of coffee. Once complete, my homelab will be stronger and more efficient, ready to serve up the tech equivalent of a perfect cup of joe. Stay tuned for more updates from dustin.coffee. Until then, keep your coffee hot and your servers cool!" />
<meta property="og:description" content="A Not-So-Smooth Brew: Plex VM Crash Just like the perfect cup of coffee, my Plex Media Server has always been a source of comfort. However, recently, it decided to give me a bit of a jolt. The Plex VM crashed, which felt like spilling a fresh brew all over the counter. Thankfully, no media was lost. But, just like trying to clean up a coffee spill, restoring the backup didnt go as planned. Instead of throwing in the towel, I rolled up my sleeves and rebuilt the VM from scratch. In the end, it was like discovering a new coffee blend different, but better. I made some significant changes that improved the performance and reliability of the server. Sometimes, the best way to deal with a mess is to embrace the opportunity to improve. Fresh Beans: Upgrading the Server In the quest for better performance, I decided it was time for a hardware upgrade. I purchased 8 Xeon Gold 6138 processors, two per node, and got one node up and running for testing. It was like upgrading from instant coffee to a high-end espresso machine. The server feels more powerful and ready to handle anything I throw at it. However, before I can start moving my VMs, I need to invest in more RAM. For now, the new node is up and running, and Ive tested moving VMs from Proxmox to XCP-NG. The process was smooth, with no issues like making a seamless transition from drip coffee to a French press. Everything worked perfectly, setting the stage for future migrations. Scheduled Downtime: Brewing the Perfect Cup As any coffee aficionado knows, good things take time. Similarly, my server setup will require some planned downtime in the last week of July into early August. While this might feel like waiting for your morning coffee to brew, I assure you its worth it. There will be no loss of data, although services will be temporarily impacted. This downtime is necessary to ensure everything is running as smoothly as a freshly brewed cup of coffee. Once complete, my homelab will be stronger and more efficient, ready to serve up the tech equivalent of a perfect cup of joe. Stay tuned for more updates from dustin.coffee. Until then, keep your coffee hot and your servers cool!" />
<link rel="canonical" href="https://dustin.coffee/tech/2024/07/09/when-the-coffee-gets-cold-recent-adventures-in-my-tech-homelab.html" />
<meta property="og:url" content="https://dustin.coffee/tech/2024/07/09/when-the-coffee-gets-cold-recent-adventures-in-my-tech-homelab.html" />
<meta property="og:site_name" content="d@n tech" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2024-07-09T00:00:00-04:00" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="when the coffee gets cold: recent adventures in my tech homelab" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"dustin newkirk"},"dateModified":"2024-07-09T00:00:00-04:00","datePublished":"2024-07-09T00:00:00-04:00","description":"A Not-So-Smooth Brew: Plex VM Crash Just like the perfect cup of coffee, my Plex Media Server has always been a source of comfort. However, recently, it decided to give me a bit of a jolt. The Plex VM crashed, which felt like spilling a fresh brew all over the counter. Thankfully, no media was lost. But, just like trying to clean up a coffee spill, restoring the backup didnt go as planned. Instead of throwing in the towel, I rolled up my sleeves and rebuilt the VM from scratch. In the end, it was like discovering a new coffee blend different, but better. I made some significant changes that improved the performance and reliability of the server. Sometimes, the best way to deal with a mess is to embrace the opportunity to improve. Fresh Beans: Upgrading the Server In the quest for better performance, I decided it was time for a hardware upgrade. I purchased 8 Xeon Gold 6138 processors, two per node, and got one node up and running for testing. It was like upgrading from instant coffee to a high-end espresso machine. The server feels more powerful and ready to handle anything I throw at it. However, before I can start moving my VMs, I need to invest in more RAM. For now, the new node is up and running, and Ive tested moving VMs from Proxmox to XCP-NG. The process was smooth, with no issues like making a seamless transition from drip coffee to a French press. Everything worked perfectly, setting the stage for future migrations. Scheduled Downtime: Brewing the Perfect Cup As any coffee aficionado knows, good things take time. Similarly, my server setup will require some planned downtime in the last week of July into early August. While this might feel like waiting for your morning coffee to brew, I assure you its worth it. There will be no loss of data, although services will be temporarily impacted. This downtime is necessary to ensure everything is running as smoothly as a freshly brewed cup of coffee. Once complete, my homelab will be stronger and more efficient, ready to serve up the tech equivalent of a perfect cup of joe. Stay tuned for more updates from dustin.coffee. Until then, keep your coffee hot and your servers cool!","headline":"when the coffee gets cold: recent adventures in my tech homelab","mainEntityOfPage":{"@type":"WebPage","@id":"https://dustin.coffee/tech/2024/07/09/when-the-coffee-gets-cold-recent-adventures-in-my-tech-homelab.html"},"url":"https://dustin.coffee/tech/2024/07/09/when-the-coffee-gets-cold-recent-adventures-in-my-tech-homelab.html"}</script>
<!-- End Jekyll SEO tag -->
<meta name="keywords" content="" />
<meta name="google-adsense-account" content="ca-pub-5033279084799102">
<link rel="shortcut icon" href="/assets/logos/dn-tech-favicon-color.png" />
<link rel="apple-touch-icon" href="/assets/logos/logo-color.png"/>
<link rel="stylesheet" type="text/css" href="/assets/css/styles.css" />
<link rel="stylesheet" type="text/css" href="/assets/css/prism.css" />
<script src="/assets/js/prism.js"></script>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5033279084799102"
crossorigin="anonymous"></script>
</head>
<body>
<div class="wrapper">
<header class="wrapper-header">
<div class="header">
<h1>d@n tech</h1>
<br>
<h5><i>Caffinated Tech Insights</i></h5>
<br>
<nav>
<a href="/">About & Contact</a>
<a href="/posts">Posts</a>
<a href="/categories/">Categories</a>
<a href="/resume">Resume</a>
</nav>
<hr>
</div>
</header>
<main class="wrapper-main">
<div class="main-content">
<div class="post-info">
<h2>when the coffee gets cold: recent adventures in my tech homelab</h2>
<p>09 Jul 2024 - </p>
</div>
<div class="post-content">
<h4 id="a-not-so-smooth-brew-plex-vm-crash">A Not-So-Smooth Brew: Plex VM Crash</h4>
<p>Just like the perfect cup of coffee, my Plex Media Server has always been a source of comfort. However, recently, it decided to give me a bit of a jolt. The Plex VM crashed, which felt like spilling a fresh brew all over the counter. Thankfully, no media was lost. But, just like trying to clean up a coffee spill, restoring the backup didnt go as planned.</p>
<p>Instead of throwing in the towel, I rolled up my sleeves and rebuilt the VM from scratch. In the end, it was like discovering a new coffee blend different, but better. I made some significant changes that improved the performance and reliability of the server. Sometimes, the best way to deal with a mess is to embrace the opportunity to improve.</p>
<h4 id="fresh-beans-upgrading-the-server">Fresh Beans: Upgrading the Server</h4>
<p>In the quest for better performance, I decided it was time for a hardware upgrade. I purchased 8 Xeon Gold 6138 processors, two per node, and got one node up and running for testing. It was like upgrading from instant coffee to a high-end espresso machine. The server feels more powerful and ready to handle anything I throw at it.</p>
<p>However, before I can start moving my VMs, I need to invest in more RAM. For now, the new node is up and running, and Ive tested moving VMs from Proxmox to XCP-NG. The process was smooth, with no issues like making a seamless transition from drip coffee to a French press. Everything worked perfectly, setting the stage for future migrations.</p>
<h4 id="scheduled-downtime-brewing-the-perfect-cup">Scheduled Downtime: Brewing the Perfect Cup</h4>
<p>As any coffee aficionado knows, good things take time. Similarly, my server setup will require some planned downtime in the last week of July into early August. While this might feel like waiting for your morning coffee to brew, I assure you its worth it. There will be no loss of data, although services will be temporarily impacted.</p>
<p>This downtime is necessary to ensure everything is running as smoothly as a freshly brewed cup of coffee. Once complete, my homelab will be stronger and more efficient, ready to serve up the tech equivalent of a perfect cup of joe.</p>
<p>Stay tuned for more updates from dustin.coffee. Until then, keep your coffee hot and your servers cool!</p>
</div>
</div>
</main>
</div>
<footer class="wrapper-footer">
<div class="footer">
<span class="footer-text float-left">This work is licensed under <a rel="license" href="https://www.gnu.org/licenses/gpl-3.0.en.html" target="_blank">GPLv3</a></span>
<span class="footer-text float-right">
Site Updated: 2025-07-29 ET (<a href="/feed.xml" target="_blank">RSS</a>)
</span>
</div>
<script src='https://storage.ko-fi.com/cdn/scripts/overlay-widget.js'></script>
<script>
kofiWidgetOverlay.draw('dustinnewkirk', {
'type': 'floating-chat',
'floating-chat.donateButton.text': 'Support Me',
'floating-chat.donateButton.background-color': '#ff851b',
'floating-chat.donateButton.text-color': '#3D2200'
});
</script>
</footer>
</body>
</html>

View File

@@ -0,0 +1,145 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Begin Jekyll SEO tag v2.8.0 -->
<title>percolating ideas: my web dev adventure | d@n tech</title>
<meta name="generator" content="Jekyll v4.3.4" />
<meta property="og:title" content="percolating ideas: my web dev adventure" />
<meta name="author" content="dustin newkirk" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Creating a website is more than just coding; its about having a vision and bringing it to life. Recently, I embarked on an exciting web development adventure that was both personally and professionally fulfilling. Over the course of two weeks, I built a website for my friend, a dedicated mental health counselor, using HTML, CSS, Bootstrap, and PHP. Heres a glimpse into my journey, from the initial brainstorming sessions to the final launch, and everything in between." />
<meta property="og:description" content="Creating a website is more than just coding; its about having a vision and bringing it to life. Recently, I embarked on an exciting web development adventure that was both personally and professionally fulfilling. Over the course of two weeks, I built a website for my friend, a dedicated mental health counselor, using HTML, CSS, Bootstrap, and PHP. Heres a glimpse into my journey, from the initial brainstorming sessions to the final launch, and everything in between." />
<link rel="canonical" href="https://dustin.coffee/tech/2025/02/19/percolating-ideas-my-web-dev-adventure.html" />
<meta property="og:url" content="https://dustin.coffee/tech/2025/02/19/percolating-ideas-my-web-dev-adventure.html" />
<meta property="og:site_name" content="d@n tech" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2025-02-19T00:00:00-05:00" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="percolating ideas: my web dev adventure" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"dustin newkirk"},"dateModified":"2025-02-19T00:00:00-05:00","datePublished":"2025-02-19T00:00:00-05:00","description":"Creating a website is more than just coding; its about having a vision and bringing it to life. Recently, I embarked on an exciting web development adventure that was both personally and professionally fulfilling. Over the course of two weeks, I built a website for my friend, a dedicated mental health counselor, using HTML, CSS, Bootstrap, and PHP. Heres a glimpse into my journey, from the initial brainstorming sessions to the final launch, and everything in between.","headline":"percolating ideas: my web dev adventure","mainEntityOfPage":{"@type":"WebPage","@id":"https://dustin.coffee/tech/2025/02/19/percolating-ideas-my-web-dev-adventure.html"},"url":"https://dustin.coffee/tech/2025/02/19/percolating-ideas-my-web-dev-adventure.html"}</script>
<!-- End Jekyll SEO tag -->
<meta name="keywords" content="" />
<meta name="google-adsense-account" content="ca-pub-5033279084799102">
<link rel="shortcut icon" href="/assets/logos/dn-tech-favicon-color.png" />
<link rel="apple-touch-icon" href="/assets/logos/logo-color.png"/>
<link rel="stylesheet" type="text/css" href="/assets/css/styles.css" />
<link rel="stylesheet" type="text/css" href="/assets/css/prism.css" />
<script src="/assets/js/prism.js"></script>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5033279084799102"
crossorigin="anonymous"></script>
</head>
<body>
<div class="wrapper">
<header class="wrapper-header">
<div class="header">
<h1>d@n tech</h1>
<br>
<h5><i>Caffinated Tech Insights</i></h5>
<br>
<nav>
<a href="/">About & Contact</a>
<a href="/posts">Posts</a>
<a href="/categories/">Categories</a>
<a href="/resume">Resume</a>
</nav>
<hr>
</div>
</header>
<main class="wrapper-main">
<div class="main-content">
<div class="post-info">
<h2>percolating ideas: my web dev adventure</h2>
<p>19 Feb 2025 - </p>
</div>
<div class="post-content">
<p>Creating a website is more than just coding; its about having a vision and bringing it to life. Recently, I embarked on an exciting web development adventure that was both personally and professionally fulfilling. Over the course of two weeks, I built a website for my friend, a dedicated mental health counselor, using HTML, CSS, Bootstrap, and PHP. Heres a glimpse into my journey, from the initial brainstorming sessions to the final launch, and everything in between.</p>
<h2 id="the-inspiration-behind-the-website">The Inspiration Behind the Website</h2>
<p>The foundation of this project was rooted in a profound purpose: to help my friend connect with individuals seeking mental health support. She had a clear vision for her website—a space that not only highlighted her counseling services but also provided resources, insights, and a sense of community. Understanding this, I was eager to turn her vision into a reality.</p>
<h2 id="planning-and-design-laying-the-groundwork">Planning and Design: Laying the Groundwork</h2>
<p>Every great project begins with a solid plan. We kicked things off with brainstorming sessions where my friend shared her ideas about the websites content and structure. Together, we outlined the key pages:</p>
<ul>
<li><strong>About Page</strong>: An introduction to my friends background and her approach to mental health counseling.</li>
<li><strong>Services Offered</strong>: Detailed descriptions of the different counseling options available.</li>
<li><strong>Resource Hub</strong>: A curated collection of articles, tips, and links to support mental well-being.</li>
<li><strong>Contact Form</strong>: An easy-to-use form for potential clients to get in touch.</li>
</ul>
<p>Using Bootstrap allowed me to create a responsive and visually appealing layout. The emphasis was on clarity and accessibility, ensuring that visitors could find what they needed without hassle.</p>
<h2 id="development-process-turning-ideas-into-reality">Development Process: Turning Ideas into Reality</h2>
<p>My two-week development timeline was packed with creativity and learning. Here are some highlights from this adventure:</p>
<h3 id="week-1-structuring-the-site">Week 1: Structuring the Site</h3>
<p>In the first week, I focused on the websites foundational structure, employing HTML to set up content organization. CSS came next, allowing me to craft the aesthetic that matched my friends compassionate and professional tone. Bootstrap was instrumental during this phase, enabling a swift transition to a mobile-friendly design that adapts to various screen sizes.</p>
<h3 id="week-2-bringing-functionality-to-life">Week 2: Bringing Functionality to Life</h3>
<p>With the structure in place, I sprinted into the second week, where I added PHP functionality for the contact form. This important feature would allow prospective clients to reach out without the hassle of dealing with their email accounts—a small yet significant convenience.</p>
<h3 id="version-control-keeping-track-with-github">Version Control: Keeping Track with GitHub</h3>
<p>Track changes was a breeze thanks to GitHub. Every implementation and tweak was logged in the repository, which not only helped streamline development but also made it easier to involve my friend in the feedback loop. Iteration and collaboration became the backbone of our process, ensuring the final product was truly reflective of her vision.</p>
<h2 id="hosting-and-domain-setup-the-finishing-touches">Hosting and Domain Setup: The Finishing Touches</h2>
<p>Once we settled on the design and functionality, it was time to get the website online. I opted to host the site on a virtual machine (VM) within my own server. This gave me complete control over the hosting environment and security features.</p>
<p>For domain registration, we selected Cloudflare, known for its robust features and security enhancements. This decision meant that visitors would benefit from faster load times and improved site safety—important factors when dealing with sensitive topics like mental health.</p>
<h2 id="conclusion-a-journey-of-purpose">Conclusion: A Journey of Purpose</h2>
<p>Building this website was more than a technical endeavor; it was an opportunity to contribute to a cause I truly believe in. Knowing that this platform can help connect individuals with the mental health support they need is immensely gratifying.</p>
<p>As my friend embarks on this new chapter of her practice, Im excited to see how the website will grow and evolve. If youre a mental health professional in need of an online presence or any kind of support to bring your ideas to fruition, remember: the journey may pose challenges, but the rewards are lasting.</p>
<p>This web dev adventure taught me that purpose drives creativity. Creating a meaningful website is not just an end goal; its a way to serve and connect with the community. Heres to more adventures and the endless possibilities that come from percolating ideas!</p>
</div>
</div>
</main>
</div>
<footer class="wrapper-footer">
<div class="footer">
<span class="footer-text float-left">This work is licensed under <a rel="license" href="https://www.gnu.org/licenses/gpl-3.0.en.html" target="_blank">GPLv3</a></span>
<span class="footer-text float-right">
Site Updated: 2025-07-29 ET (<a href="/feed.xml" target="_blank">RSS</a>)
</span>
</div>
<script src='https://storage.ko-fi.com/cdn/scripts/overlay-widget.js'></script>
<script>
kofiWidgetOverlay.draw('dustinnewkirk', {
'type': 'floating-chat',
'floating-chat.donateButton.text': 'Support Me',
'floating-chat.donateButton.background-color': '#ff851b',
'floating-chat.donateButton.text-color': '#3D2200'
});
</script>
</footer>
</body>
</html>

View File

@@ -0,0 +1,141 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Begin Jekyll SEO tag v2.8.0 -->
<title>brewing up my homelab: new services, hardware, and monitoring magic | d@n tech</title>
<meta name="generator" content="Jekyll v4.3.4" />
<meta property="og:title" content="brewing up my homelab: new services, hardware, and monitoring magic" />
<meta name="author" content="dustin newkirk" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Hello fellow tech enthusiasts (and coffee lovers)!" />
<meta property="og:description" content="Hello fellow tech enthusiasts (and coffee lovers)!" />
<link rel="canonical" href="https://dustin.coffee/tech/2025/06/18/brewing-up-my-homelab-new-services-hardware-and-monitoring-magic.html" />
<meta property="og:url" content="https://dustin.coffee/tech/2025/06/18/brewing-up-my-homelab-new-services-hardware-and-monitoring-magic.html" />
<meta property="og:site_name" content="d@n tech" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2025-06-18T00:00:00-04:00" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="brewing up my homelab: new services, hardware, and monitoring magic" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"dustin newkirk"},"dateModified":"2025-06-18T00:00:00-04:00","datePublished":"2025-06-18T00:00:00-04:00","description":"Hello fellow tech enthusiasts (and coffee lovers)!","headline":"brewing up my homelab: new services, hardware, and monitoring magic","mainEntityOfPage":{"@type":"WebPage","@id":"https://dustin.coffee/tech/2025/06/18/brewing-up-my-homelab-new-services-hardware-and-monitoring-magic.html"},"url":"https://dustin.coffee/tech/2025/06/18/brewing-up-my-homelab-new-services-hardware-and-monitoring-magic.html"}</script>
<!-- End Jekyll SEO tag -->
<meta name="keywords" content="" />
<meta name="google-adsense-account" content="ca-pub-5033279084799102">
<link rel="shortcut icon" href="/assets/logos/dn-tech-favicon-color.png" />
<link rel="apple-touch-icon" href="/assets/logos/logo-color.png"/>
<link rel="stylesheet" type="text/css" href="/assets/css/styles.css" />
<link rel="stylesheet" type="text/css" href="/assets/css/prism.css" />
<script src="/assets/js/prism.js"></script>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5033279084799102"
crossorigin="anonymous"></script>
</head>
<body>
<div class="wrapper">
<header class="wrapper-header">
<div class="header">
<h1>d@n tech</h1>
<br>
<h5><i>Caffinated Tech Insights</i></h5>
<br>
<nav>
<a href="/">About & Contact</a>
<a href="/posts">Posts</a>
<a href="/categories/">Categories</a>
<a href="/resume">Resume</a>
</nav>
<hr>
</div>
</header>
<main class="wrapper-main">
<div class="main-content">
<div class="post-info">
<h2>brewing up my homelab: new services, hardware, and monitoring magic</h2>
<p>18 Jun 2025 - </p>
</div>
<div class="post-content">
<p>Hello fellow tech enthusiasts (and coffee lovers)!</p>
<p>As much as I enjoy a freshly brewed cup of coffee, theres something equally satisfying about brewing up new capabilities in my homelab. Over the past few weeks, Ive been busy adding some fresh services and hardware to keep my setup not just humming, but buzzing with efficiency and helpfulness. Whether youre managing your own digital playground or just curious about whats possible on a home scale, heres whats new on the docket — plus, the gear thats making it all work.</p>
<h2 id="new-services-from-collaboration-to-monitoring-and-gaming">New Services: From Collaboration to Monitoring and Gaming</h2>
<h3 id="nextcloud-aio--saying-goodbye-to-discord-dependence">Nextcloud-AIO Saying Goodbye to Discord Dependence</h3>
<p>First up: Ive integrated <strong>Nextcloud-AIO</strong> to replace our previous dependence on Discord for collaboration and file sharing. With the all-in-one Nextcloud setup, Ive gained a self-hosted, privacy-respecting platform that handles chat, file sharing, calendar syncing, and more — all under my control. Its the perfect homebrew alternative to relying on third-party cloud services.</p>
<h3 id="grafana-prometheus-and-telegraf--monitoring-made-beautiful">Grafana, Prometheus, and Telegraf Monitoring Made Beautiful</h3>
<p>Monitoring is crucial, especially as my homelab grows in complexity. Ive hooked up <strong>Grafana</strong>, <strong>Prometheus</strong>, and <strong>Telegraf</strong> to create a robust monitoring stack that tracks performance metrics and visualizes everything in sleek, coffee-black dashboards. From CPU temps to network throughput, now I can sip some espresso while stats gently pour in real time.</p>
<h3 id="uptime-kuma--watching-over-my-homelab-from-the-cloud">Uptime Kuma Watching Over My Homelab from the Cloud</h3>
<p>While my monitoring stack watches internal metrics, I also set up <strong>Uptime Kuma</strong> on my VPS to keep an eye on service availability from an external vantage point. Having an external health check ensures that Im alerted if services go down when Im away from home—because coffee breaks shouldnt be interrupted by unexpected outages!</p>
<h3 id="weddingshare--celebrating-with-friends">WeddingShare Celebrating with Friends</h3>
<p>On a more personal note, I deployed <strong>WeddingShare</strong> for a friends upcoming wedding. This open-source project is a fantastic way to collaboratively share photos and memories securely. Running it on my homelab feels great—using technology to enhance lifes special moments.</p>
<h3 id="enshrouded-game-server--because-play-is-important">Enshrouded Game Server Because Play Is Important</h3>
<p>Lastly, I gave new life to my gaming side by spinning up an <strong>Enshrouded game server</strong>. After all, every techie needs downtime, and running a self-hosted game server keeps me connected with friends while enjoying some pixelated adventures.</p>
<h2 id="upgrading-the-hardware-rack-em-stack-em-and-speed-em-up">Upgrading the Hardware: Rack Em, Stack Em, and Speed Em Up</h2>
<p>To support all these new services and keep things neat, Ive invested in some solid hardware upgrades:</p>
<ul>
<li><strong>25U Rack</strong> — Finally, my scattered gear is beautifully racked and organized. Nothing like a sturdy rack to keep cables tidy and airflow optimal.</li>
<li><strong>10Gb NICs for C6420</strong> — High-speed networking is a must, so I equipped my C6420 with 10 Gigabit NICs. Moving data is faster than ever.</li>
<li><strong>NetApp DS4246</strong> — Storage gets a big upgrade with this robust disk shelf, improving both capacity and reliability.</li>
<li><strong>NETGEAR GS724T v2 PROSAFE 24-Port Switch</strong> — For all the 1Gb connections, this switch provides plenty of ports and solid management features.</li>
<li><strong>Rails for R720xd, C6420, and NetApp DS4246</strong> — Proper mounting hardware makes installing and servicing equipment a breeze.</li>
</ul>
<h2 id="lessons-learned--whats-next">Lessons Learned &amp; Whats Next</h2>
<p>Setting up all these components has been a rewarding challenge that reminds me why I love blending technology with a little caffeine-induced focus. With better monitoring, more control over collaboration, and robust hardware behind it, my homelab feels ready to handle just about anything I throw at it.</p>
<p>Looking ahead, Im keen to explore containerizing more apps, automating backups, and maybe even dabbling in some home automation tied into this setup. And of course, keeping the coffee flowing remains a top priority.</p>
<hr />
<p>If youre running your own homelab or considering starting one, I hope this update sparks some ideas (and maybe convinces you to add a rack or two!). Feel free to reach out if you want details on how I set up any of these services or hardware.</p>
<p>Until next post — stay caffeinated and curious!</p>
</div>
</div>
</main>
</div>
<footer class="wrapper-footer">
<div class="footer">
<span class="footer-text float-left">This work is licensed under <a rel="license" href="https://www.gnu.org/licenses/gpl-3.0.en.html" target="_blank">GPLv3</a></span>
<span class="footer-text float-right">
Site Updated: 2025-07-29 ET (<a href="/feed.xml" target="_blank">RSS</a>)
</span>
</div>
<script src='https://storage.ko-fi.com/cdn/scripts/overlay-widget.js'></script>
<script>
kofiWidgetOverlay.draw('dustinnewkirk', {
'type': 'floating-chat',
'floating-chat.donateButton.text': 'Support Me',
'floating-chat.donateButton.background-color': '#ff851b',
'floating-chat.donateButton.text-color': '#3D2200'
});
</script>
</footer>
</body>
</html>

View File

@@ -0,0 +1,141 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Begin Jekyll SEO tag v2.8.0 -->
<title>the baristas new tools | d@n tech</title>
<meta name="generator" content="Jekyll v4.3.4" />
<meta property="og:title" content="the baristas new tools" />
<meta name="author" content="dustin newkirk" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Many Changes in the Past few months…##" />
<meta property="og:description" content="Many Changes in the Past few months…##" />
<link rel="canonical" href="https://dustin.coffee/tech/2025/12/01/the-baristas-new-tools.html" />
<meta property="og:url" content="https://dustin.coffee/tech/2025/12/01/the-baristas-new-tools.html" />
<meta property="og:site_name" content="d@n tech" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2025-12-01T00:00:00-05:00" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="the baristas new tools" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"dustin newkirk"},"dateModified":"2025-12-01T00:00:00-05:00","datePublished":"2025-12-01T00:00:00-05:00","description":"Many Changes in the Past few months…##","headline":"the baristas new tools","mainEntityOfPage":{"@type":"WebPage","@id":"https://dustin.coffee/tech/2025/12/01/the-baristas-new-tools.html"},"url":"https://dustin.coffee/tech/2025/12/01/the-baristas-new-tools.html"}</script>
<!-- End Jekyll SEO tag -->
<meta name="keywords" content="" />
<meta name="google-adsense-account" content="ca-pub-5033279084799102">
<link rel="shortcut icon" href="/assets/logos/dn-tech-favicon-color.png" />
<link rel="apple-touch-icon" href="/assets/logos/logo-color.png"/>
<link rel="stylesheet" type="text/css" href="/assets/css/styles.css" />
<link rel="stylesheet" type="text/css" href="/assets/css/prism.css" />
<script src="/assets/js/prism.js"></script>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5033279084799102"
crossorigin="anonymous"></script>
</head>
<body>
<div class="wrapper">
<header class="wrapper-header">
<div class="header">
<h1>d@n tech</h1>
<br>
<h5><i>Caffinated Tech Insights</i></h5>
<br>
<nav>
<a href="/">About & Contact</a>
<a href="/posts">Posts</a>
<a href="/categories/">Categories</a>
<a href="/resume">Resume</a>
</nav>
<hr>
</div>
</header>
<main class="wrapper-main">
<div class="main-content">
<div class="post-info">
<h2>the barista's new tools</h2>
<p>01 Dec 2025 - </p>
</div>
<div class="post-content">
<h2 id="many-changes-in-the-past-few-months">Many Changes in the Past few months…##</h2>
<p>Welcome back to the cafe! Any good barista knows that a perfect cup of coffee isnt just about the beans—its about the tools. The grinder, the espresso machine, the tamper—every piece of equipment plays a role in creating a smooth, efficient, and delightful experience.</p>
<p>Behind the counter of this digital coffee shop, Ive been busy upgrading my toolkit. Its time for a little “shop talk” to show you whats been brewing under the hood. From improving the daily grind to adding brand-new services, here are the new tools Ive added to the workbench.</p>
<hr />
<h3 id="a-sleeker-grind-for-pdfs">A Sleeker Grind for PDFs</h3>
<p>My first stop was the digital document grinder. For a long time, <strong>StirlingPDF</strong> was my go-to workhorse for handling PDF files—its powerful and incredibly versatile. However, the project recently moved to a commercial model, and in the world of self-hosting, the best-tasting coffee is the one you dont have to pay a subscription for.</p>
<p>This sent me on a search for a new grinder, and I landed on <strong>Bento</strong>. Honestly, the switch feels like a complete upgrade. Bento offers a stunningly clean UI and consolidates a huge number of file-handling tools into one beautiful, fast, and joyful interface. Its a perfect example of how a change forced by necessity can lead to an even better discovery.</p>
<h3 id="brewing-our-own-mail">Brewing Our Own Mail</h3>
<p>From streamlining daily tasks, I moved on to a much bigger project: taking full control of my digital correspondence. Ive finally stopped relying on third-party providers and am now brewing my own email in-house for <strong>hobokenchicken.com</strong> using <strong>Mailcow</strong>. This powerful, all-in-one mail server suite is running in its own virtual machine on my trusty Dell R720xd homelab server. Its like roasting my own beans—more work, but the final product is tailored exactly to my tastes with complete control and privacy.</p>
<h3 id="a-better-filter-for-a-cleaner-brew">A Better Filter for a Cleaner Brew</h3>
<p>This theme of control and privacy extends to the very foundation of my network. You cant make good coffee with bad water, and for years, <strong>Pi-hole</strong> has been my networks water filter. Recently, however, I swapped it out for <strong>AdGuard Home</strong>. The upgrade gives me a more modern interface, built-in support for DNS-over-HTTPS (DoH), and easier per-client filtering. Its the same great-tasting, ad-free internet, just with a more advanced filtration system.</p>
<h3 id="keeping-the-delivery-fleet-tuned-up">Keeping the Delivery Fleet Tuned Up</h3>
<p>While most of these tools keep the digital side of things running, some projects are for the physical world. To better maintain my cars, Ive spun up an instance of <strong>LubeLogger</strong>. This self-hosted service is fantastic for logging oil changes, tire rotations, and every other bit of vehicle upkeep. No more forgetting when I last checked the tire pressure—its all logged and ready.</p>
<h3 id="a-new-flavor-of-ai-espresso">A New Flavor of AI Espresso</h3>
<p>Back on the digital counter, my local AI setup, powered by <strong>Open-WebUI</strong>, is like a high-tech espresso machine. To expand its capabilities, Ive just integrated Googles <strong>Gemini family of models</strong>. Having access to Gemini is like adding a new single-origin bean to experiment with. It offers a different “flavor” of response and excels at different tasks, making my AI toolkit that much more versatile.</p>
<h3 id="the-new-digital-recipe-book">The New Digital Recipe Book</h3>
<p>With all this new information being discovered and generated, keeping track of it became the next challenge. My browser bookmarks were getting out of control, so Ive implemented <strong>KaraKeep</strong>, a clean, self-hosted bookmark manager. Its a simple, tag-based system that acts as my new digital recipe book, keeping all my best finds neatly organized.</p>
<h3 id="the-mission-control-for-the-cafe">The Mission Control for the Cafe</h3>
<p>Of course, whats the point of having all these wonderful machines if you cant manage them effectively? With <strong>over 50 Docker containers now running across 3 different hosts</strong>, I needed a better command center. Thats where <strong>Portainer</strong> comes in. This container management UI has become my mission control, giving me a birds-eye view of everything. It lets me deploy, manage, and troubleshoot from a clean web interface, ensuring all the other tools run smoothly.</p>
<hr />
<p>So there you have it—a peek at the new and improved setup behind the scenes. These tools are all about improving efficiency, security, and capability. After all, a happy barista with great tools makes for a better coffee shop for everyone.</p>
<p>Stay tuned to see what we brew up next.</p>
</div>
</div>
</main>
</div>
<footer class="wrapper-footer">
<div class="footer">
<span class="footer-text float-left">This work is licensed under <a rel="license" href="https://www.gnu.org/licenses/gpl-3.0.en.html" target="_blank">GPLv3</a></span>
<span class="footer-text float-right">
Site Updated: 2025-12-01 ET (<a href="/feed.xml" target="_blank">RSS</a>)
</span>
</div>
<script src='https://storage.ko-fi.com/cdn/scripts/overlay-widget.js'></script>
<script>
kofiWidgetOverlay.draw('dustinnewkirk', {
'type': 'floating-chat',
'floating-chat.donateButton.text': 'Support Me',
'floating-chat.donateButton.background-color': '#ff851b',
'floating-chat.donateButton.text-color': '#3D2200'
});
</script>
</footer>
</body>
</html>