<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Benedikt Schackenberg</title>
    <description>The latest articles on Forem by Benedikt Schackenberg (@benedikt_schackenberg_5c0).</description>
    <link>https://forem.com/benedikt_schackenberg_5c0</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3781677%2F9bfa7c42-9c58-424a-8e21-021b9e90fb2e.png</url>
      <title>Forem: Benedikt Schackenberg</title>
      <link>https://forem.com/benedikt_schackenberg_5c0</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/benedikt_schackenberg_5c0"/>
    <language>en</language>
    <item>
      <title>Building Octofleet: A Week of Zero-Touch Server Deployments (Looking for Contributors! 🐙)</title>
      <dc:creator>Benedikt Schackenberg</dc:creator>
      <pubDate>Sat, 21 Feb 2026 20:15:25 +0000</pubDate>
      <link>https://forem.com/benedikt_schackenberg_5c0/building-octofleet-a-week-of-zero-touch-server-deployments-looking-for-contributors--4do7</link>
      <guid>https://forem.com/benedikt_schackenberg_5c0/building-octofleet-a-week-of-zero-touch-server-deployments-looking-for-contributors--4do7</guid>
      <description>&lt;p&gt;Hey dev.to!&lt;/p&gt;

&lt;p&gt;This is just a hobby project I've been hacking on because it's &lt;strong&gt;mega fun&lt;/strong&gt; - and I wanted to share what happened this week. Also: &lt;strong&gt;I'm looking for contributors!&lt;/strong&gt; More on that at the end.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Octofleet?
&lt;/h2&gt;

&lt;p&gt;Octofleet is an open-source endpoint management platform I've been building. Think of it as an octopus 🐙 with 8 arms handling all your server tasks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📊 &lt;strong&gt;Inventory&lt;/strong&gt; - Track all your machines&lt;/li&gt;
&lt;li&gt;🔧 &lt;strong&gt;Patching&lt;/strong&gt; - Keep systems updated&lt;/li&gt;
&lt;li&gt;💼 &lt;strong&gt;Job System&lt;/strong&gt; - Run scripts remotely&lt;/li&gt;
&lt;li&gt;📦 &lt;strong&gt;Packages&lt;/strong&gt; - Deploy software&lt;/li&gt;
&lt;li&gt;🛡️ &lt;strong&gt;Vulnerability Tracking&lt;/strong&gt; - Stay secure&lt;/li&gt;
&lt;li&gt;🖥️ &lt;strong&gt;Screen Sharing&lt;/strong&gt; - See what's happening&lt;/li&gt;
&lt;li&gt;⚙️ &lt;strong&gt;Service Orchestration&lt;/strong&gt; - Manage services across fleet&lt;/li&gt;
&lt;li&gt;🚀 &lt;strong&gt;PXE Deployment&lt;/strong&gt; - Zero-touch OS installs ← &lt;em&gt;NEW THIS WEEK!&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  This Week's Adventure: PXE Boot
&lt;/h2&gt;

&lt;p&gt;I wanted to solve a problem: How do I deploy Windows Server to 10 VMs without touching each one?&lt;/p&gt;

&lt;p&gt;The answer: &lt;strong&gt;PXE Boot + iPXE + WinPE + HTTP&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The Goal
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Enter MAC address in Web UI&lt;/li&gt;
&lt;li&gt;Select OS (Windows Server 2025, Ubuntu, etc.)&lt;/li&gt;
&lt;li&gt;Click "Create Job"&lt;/li&gt;
&lt;li&gt;Power on server&lt;/li&gt;
&lt;li&gt;☕ Grab coffee&lt;/li&gt;
&lt;li&gt;Come back to a fully installed, domain-joined server&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  What I Built
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Backend (FastAPI + PostgreSQL):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provisioning API with CRUD for tasks, images, templates&lt;/li&gt;
&lt;li&gt;Dynamic iPXE script generation per MAC address&lt;/li&gt;
&lt;li&gt;Status callbacks so machines report their progress&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Frontend (Next.js + Tailwind):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provisioning dashboard with live task queue&lt;/li&gt;
&lt;li&gt;"New Job" dialog with MAC/OS selection&lt;/li&gt;
&lt;li&gt;Auto-refresh every 10 seconds&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;PXE Infrastructure:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;dnsmasq for DHCP + TFTP&lt;/li&gt;
&lt;li&gt;nginx serving boot files over HTTP&lt;/li&gt;
&lt;li&gt;Custom WinPE image with curl.exe injected&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The Fun Bugs 🐛
&lt;/h3&gt;

&lt;p&gt;Oh boy, where do I start...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bug 1: "Bad CPIO magic" on Hyper-V&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Turns out wimboot has issues with Hyper-V Gen1 (BIOS mode)&lt;/li&gt;
&lt;li&gt;Fix: Use Gen2 (UEFI) - works perfectly!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Bug 2: SMB is too slow in WinPE&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;WinPE's SMB client waits forever for DNS&lt;/li&gt;
&lt;li&gt;Fix: HTTP everything! Injected curl.exe into WinPE&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Bug 3: DISM Error 87&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scripts weren't running...&lt;/li&gt;
&lt;li&gt;Cause: Unix line endings (LF) instead of Windows (CRLF)&lt;/li&gt;
&lt;li&gt;Fix: &lt;code&gt;unix2dos startnet.cmd&lt;/code&gt; 🤦&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Bug 4: VirtIO disk not found&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;KVM VMs couldn't see their disks&lt;/li&gt;
&lt;li&gt;Wrong driver: &lt;code&gt;viostor.inf&lt;/code&gt; vs &lt;code&gt;vioscsi.inf&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;SCSI needs vioscsi!&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Current Status
&lt;/h3&gt;

&lt;p&gt;✅ &lt;strong&gt;Working:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hyper-V Gen2 deployment&lt;/li&gt;
&lt;li&gt;Windows Server 2025 (all editions)&lt;/li&gt;
&lt;li&gt;Full unattend.xml automation&lt;/li&gt;
&lt;li&gt;German locale &amp;amp; timezone&lt;/li&gt;
&lt;li&gt;RDP enabled out of the box&lt;/li&gt;
&lt;li&gt;Web UI connected to real API&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🚧 &lt;strong&gt;In Progress:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ubuntu/Linux support (Autoinstall)&lt;/li&gt;
&lt;li&gt;Windows 11 client deployment&lt;/li&gt;
&lt;li&gt;KVM/libvirt testing&lt;/li&gt;
&lt;li&gt;Live status callbacks in UI&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Tech Stack
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;┌─────────────────────────────────────────────┐
│              Octofleet UI                   │
│         (Next.js + Tailwind CSS)            │
└─────────────────┬───────────────────────────┘
                  │ HTTP/REST
┌─────────────────▼───────────────────────────┐
│           Octofleet Backend                 │
│      (FastAPI + PostgreSQL + asyncpg)       │
└─────────────────┬───────────────────────────┘
                  │
┌─────────────────▼───────────────────────────┐
│             PXE Server                      │
│   (dnsmasq + nginx + iPXE + WinPE)          │
└─────────────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Why I Love This Project
&lt;/h2&gt;

&lt;p&gt;It's the perfect intersection of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Networking&lt;/strong&gt; (PXE, DHCP, TFTP, HTTP)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Windows internals&lt;/strong&gt; (WinPE, DISM, BCD)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Linux&lt;/strong&gt; (dnsmasq, Samba, nginx)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Modern web&lt;/strong&gt; (React, FastAPI, WebSockets)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DevOps&lt;/strong&gt; (automation, CI/CD, infrastructure as code)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every day I learn something new. This week alone I learned:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How iPXE works internally&lt;/li&gt;
&lt;li&gt;WinPE customization&lt;/li&gt;
&lt;li&gt;The difference between BIOS and UEFI boot&lt;/li&gt;
&lt;li&gt;Why SMB in WinPE is painful&lt;/li&gt;
&lt;li&gt;How to inject files into a boot image&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Looking for Contributors! 🙋‍♂️
&lt;/h2&gt;

&lt;p&gt;This is where you come in! I'm looking for people who want to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Use it&lt;/strong&gt; - Test it in your homelab, report bugs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hack on it&lt;/strong&gt; - Pick an issue, send a PR&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Document&lt;/strong&gt; - Help make the docs better&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Design&lt;/strong&gt; - The UI could always be prettier&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ideas&lt;/strong&gt; - What features would YOU want?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;No experience required!&lt;/strong&gt; If you're learning and want a real project to contribute to, this is it. I'll help you get started.&lt;/p&gt;

&lt;h3&gt;
  
  
  Good First Issues
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;🐧 Add Ubuntu 24.04 support&lt;/li&gt;
&lt;li&gt;📝 Improve API documentation&lt;/li&gt;
&lt;li&gt;🧪 Write more tests&lt;/li&gt;
&lt;li&gt;🎨 Dark mode improvements&lt;/li&gt;
&lt;li&gt;📊 Dashboard widgets&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to Get Started
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Star the repo&lt;/strong&gt;: &lt;a href="https://github.com/BenediktSchackenberg/octofleet" rel="noopener noreferrer"&gt;github.com/BenediktSchackenberg/octofleet&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check the issues&lt;/strong&gt;: Look for &lt;code&gt;good first issue&lt;/code&gt; labels&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Join the Discord&lt;/strong&gt;: Link in the repo README&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Say hi!&lt;/strong&gt; Drop a comment here or open a discussion&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;Next week I'm planning to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Get Ubuntu autoinstall working&lt;/li&gt;
&lt;li&gt;Add Windows 11 support&lt;/li&gt;
&lt;li&gt;Build a "Systems Registry" to track provisioned machines&lt;/li&gt;
&lt;li&gt;Maybe record a demo video?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Building Octofleet has been incredibly fun. There's something magical about:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Clicking a button&lt;/li&gt;
&lt;li&gt;Watching a VM boot from the network&lt;/li&gt;
&lt;li&gt;Seeing Windows install itself&lt;/li&gt;
&lt;li&gt;Getting a notification "Server ready!"&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;All without touching a single USB stick or clicking through an installer.&lt;/p&gt;

&lt;p&gt;If this sounds interesting to you - come join the fun! 🐙&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Links:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🐙 GitHub: &lt;a href="https://github.com/BenediktSchackenberg/octofleet" rel="noopener noreferrer"&gt;BenediktSchackenberg/octofleet&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📝 Blog: &lt;a href="https://benediktschackenberg.github.io" rel="noopener noreferrer"&gt;schackenberg.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💬 Discord: Link in repo&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Happy deploying!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>opensource</category>
      <category>homelab</category>
      <category>windows</category>
    </item>
    <item>
      <title>I Built an Open-Source Endpoint Manager Because Enterprise Tools Are Ridiculous</title>
      <dc:creator>Benedikt Schackenberg</dc:creator>
      <pubDate>Thu, 19 Feb 2026 21:43:52 +0000</pubDate>
      <link>https://forem.com/benedikt_schackenberg_5c0/i-built-an-open-source-endpoint-manager-because-enterprise-tools-are-ridiculous-23m2</link>
      <guid>https://forem.com/benedikt_schackenberg_5c0/i-built-an-open-source-endpoint-manager-because-enterprise-tools-are-ridiculous-23m2</guid>
      <description>&lt;p&gt;Let me start with a confession: I have too many computers.&lt;/p&gt;

&lt;p&gt;Three Windows Servers, a handful of workstations, a Linux box running... stuff. You know how it goes. One day you're setting up a home lab, next thing you know you're managing a small fleet and wondering which machine has that outdated Log4j version.&lt;/p&gt;

&lt;p&gt;Commercial endpoint management tools exist, sure. But have you seen the pricing? We're talking $10-15 per endpoint per month for the basics. PDQ Deploy wants $500/year minimum. Microsoft Intune is... well, it's Microsoft. And don't get me started on trying to self-host SCCM.&lt;/p&gt;

&lt;p&gt;So I did what any reasonable developer does when faced with expensive software: I built my own.&lt;/p&gt;

&lt;h2&gt;
  
  
  Meet Octofleet
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl0hiyklouc08jgfypt9c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl0hiyklouc08jgfypt9c.png" alt="Octofleet Dashboard" width="800" height="514"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/BenediktSchackenberg/octofleet" rel="noopener noreferrer"&gt;Octofleet&lt;/a&gt; is an open-source endpoint management platform. It's what I wished existed when I started looking for solutions: simple to deploy, actually useful, and doesn't require a finance department to approve.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fair warning:&lt;/strong&gt; This is still beta software. I'm running it in production on my own infrastructure (because I like living dangerously), but you should probably test it properly before deploying to anything critical. That said — it works, and it's been stable for weeks now.&lt;/p&gt;

&lt;h2&gt;
  
  
  What It Actually Does
&lt;/h2&gt;

&lt;p&gt;The feature list grew organically from "things I kept needing":&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hardware &amp;amp; Software Inventory&lt;/strong&gt;&lt;br&gt;
Every machine reports what's installed, what hardware it has, disk space, network adapters — the works. I got tired of RDP-ing into servers just to check if something was installed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Remote Job Execution&lt;/strong&gt;&lt;br&gt;
Run PowerShell scripts or Bash commands across your fleet. Schedule them, target specific groups, see results in real-time. No more "let me just quickly SSH into 5 machines to check something."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vulnerability Scanning&lt;/strong&gt;&lt;br&gt;
This one surprised me how useful it became. The platform pulls CVE data from NVD and cross-references it with installed software. Suddenly I knew exactly which machines had vulnerable versions of stuff I'd forgotten I installed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Auto-Remediation&lt;/strong&gt;&lt;br&gt;
Found a vulnerability? Octofleet can automatically update the affected software via winget or Chocolatey. It's like having a very focused, very patient sysadmin working 24/7.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Performance Monitoring&lt;/strong&gt;&lt;br&gt;
Real-time CPU, RAM, and disk metrics with a "hotspot matrix" that shows you at a glance which machines need attention. No more guessing which server is struggling.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdvwk3sk6nojjjgb2rtv9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdvwk3sk6nojjjgb2rtv9.png" alt="Performance Hotspot Matrix" width="800" height="514"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  The Architecture (For Those Who Care)
&lt;/h2&gt;

&lt;p&gt;I went with a stack I actually enjoy working with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;┌─────────────────────────────────────────────┐
│              Frontend (Next.js)             │
│            React + Tailwind CSS             │
└──────────────────┬──────────────────────────┘
                   │ REST API
┌──────────────────▼──────────────────────────┐
│              Backend (FastAPI)              │
│               Python 3.12                   │
└──────────────────┬──────────────────────────┘
                   │
┌──────────────────▼──────────────────────────┐
│      PostgreSQL 16 + TimescaleDB            │
│         (for time-series metrics)           │
└─────────────────────────────────────────────┘

    ┌─────────┐  ┌─────────┐  ┌─────────┐
    │ Windows │  │ Windows │  │  Linux  │
    │  Agent  │  │  Agent  │  │  Agent  │
    │ (.NET 8)│  │ (.NET 8)│  │ (Bash)  │
    └────┬────┘  └────┬────┘  └────┬────┘
         └────────────┴────────────┘
               HTTPS polling
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Why TimescaleDB? Because storing weeks of performance metrics in regular PostgreSQL tables gets ugly fast. TimescaleDB handles time-series data compression and retention automatically.&lt;/p&gt;

&lt;p&gt;The Windows agent is a single .NET 8 executable (~8MB) that runs as a service. No installer dependencies, no runtime requirements on the target machine. The Linux agent is a bash script because... sometimes simple wins.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;If you want to try it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/BenediktSchackenberg/octofleet.git
&lt;span class="nb"&gt;cd &lt;/span&gt;octofleet
docker compose up &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. Open &lt;code&gt;http://localhost:3000&lt;/code&gt;, login with &lt;code&gt;admin/admin&lt;/code&gt;, and you've got a running instance.&lt;/p&gt;

&lt;p&gt;For agents, there's a one-liner for Windows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;iwr&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://raw.githubusercontent.com/BenediktSchackenberg/octofleet/main/Install-OctofleetAgent.ps1"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-OutFile&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$&lt;/span&gt;&lt;span class="nn"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;TEMP&lt;/span&gt;&lt;span class="s2"&gt;\install.ps1"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$&lt;/span&gt;&lt;span class="nn"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;TEMP&lt;/span&gt;&lt;span class="s2"&gt;\install.ps1"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The agent auto-registers with your server and starts reporting immediately.&lt;/p&gt;

&lt;h2&gt;
  
  
  How It Compares
&lt;/h2&gt;

&lt;p&gt;I'm not going to pretend Octofleet replaces enterprise solutions. But for homelabs, small businesses, or anyone who just wants basic fleet management without the complexity:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Octofleet&lt;/th&gt;
&lt;th&gt;PDQ Deploy&lt;/th&gt;
&lt;th&gt;NinjaRMM&lt;/th&gt;
&lt;th&gt;SCCM&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Price&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;$500+/yr&lt;/td&gt;
&lt;td&gt;$3+/endpoint/mo&lt;/td&gt;
&lt;td&gt;LOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Self-hosted&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Setup time&lt;/td&gt;
&lt;td&gt;5 min&lt;/td&gt;
&lt;td&gt;30 min&lt;/td&gt;
&lt;td&gt;15 min&lt;/td&gt;
&lt;td&gt;Days&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Linux support&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;Kinda&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vuln scanning&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Open source&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The big players have more features, better polish, enterprise support. But they also have enterprise complexity and enterprise pricing. Pick your poison.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Honest "Beta Software" Section
&lt;/h2&gt;

&lt;p&gt;Things that work well:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inventory collection is solid&lt;/li&gt;
&lt;li&gt;Job execution is reliable&lt;/li&gt;
&lt;li&gt;The dashboard is genuinely useful day-to-day&lt;/li&gt;
&lt;li&gt;Auto-updates for agents work (finally, after some painful debugging)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Things I'm still working on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Documentation could be better (it exists, but it's... sparse)&lt;/li&gt;
&lt;li&gt;macOS agent doesn't exist yet&lt;/li&gt;
&lt;li&gt;Reporting/exports are basic&lt;/li&gt;
&lt;li&gt;No mobile app (and probably never will be)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Known quirks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;First-time setup needs you to configure the gateway URL manually&lt;/li&gt;
&lt;li&gt;Some edge cases in vulnerability matching (CVE data is messy)&lt;/li&gt;
&lt;li&gt;The UI has some rough edges on mobile&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why I'm Sharing This
&lt;/h2&gt;

&lt;p&gt;Honestly? I want feedback.&lt;/p&gt;

&lt;p&gt;This started as a personal project to scratch my own itch. But it's grown into something that might be useful for others, and I'd love to know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What features are missing that would make this useful for you?&lt;/li&gt;
&lt;li&gt;What's confusing about the setup?&lt;/li&gt;
&lt;li&gt;What breaks when you try it?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'm also very open to contributions. The codebase is reasonably clean (I think), the stack is modern, and there's plenty of low-hanging fruit for anyone wanting to contribute to an open-source project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/BenediktSchackenberg/octofleet" rel="noopener noreferrer"&gt;github.com/BenediktSchackenberg/octofleet&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Screenshots:&lt;/strong&gt; Check the README&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;License:&lt;/strong&gt; MIT (do whatever you want with it)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you try it, let me know how it goes. Open an issue, leave a comment here, or just star the repo if you think it's cool.&lt;/p&gt;

&lt;p&gt;And if you're running a fleet of machines and paying too much for basic management tools — maybe give this a shot. Worst case, you'll have wasted 5 minutes on &lt;code&gt;docker compose up&lt;/code&gt;. Best case, you'll save a bunch of money and have something you can actually customize.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Currently managing 9 endpoints with Octofleet. My wallet is happier, even if my spare time isn't.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>devops</category>
      <category>sysadmin</category>
      <category>selfhosted</category>
    </item>
  </channel>
</rss>
