<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Self-Hosting - Category - Botmonster Tech</title><link>https://botmonster.com/self-hosting/</link><description>Self-Hosting - Category - Botmonster Tech</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Thu, 14 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://botmonster.com/self-hosting/" rel="self" type="application/rss+xml"/><item><title>Wayland Screen Sharing: XDG Portal, PipeWire Fix</title><link>https://botmonster.com/self-hosting/wayland-screen-sharing-fix-video-calls-linux/</link><pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate><author>Botmonster</author><guid>https://botmonster.com/self-hosting/wayland-screen-sharing-fix-video-calls-linux/</guid><description><![CDATA[<div class="featured-image">
                <img src="/wayland-screen-sharing-fix-video-calls-linux.png" referrerpolicy="no-referrer">
            </div><p>Screen sharing on <a href="https://wayland.freedesktop.org/" target="_blank" rel="noopener noreferrer ">Wayland</a>
 fails because Wayland&rsquo;s security model blocks apps from grabbing other windows or the full desktop. The fix has three layers. First, install the right <a href="https://github.com/flatpak/xdg-desktop-portal" target="_blank" rel="noopener noreferrer ">XDG Desktop Portal</a>
 backend for your compositor. Second, check that <a href="https://pipewire.org/" target="_blank" rel="noopener noreferrer ">PipeWire</a>
 is running as your media daemon. Third, set your browser or app to use the portal capture path, not the old X11 one. Once these align, screen sharing works in Zoom, Teams, Discord, and Google Meet on any <a href="/self-hosting/hyprland-vs-sway-vs-cosmic-wayland-compositors/" rel="">major Wayland compositor</a>
.</p>]]></description></item><item><title>Monitor Linux Servers: Prometheus and Grafana</title><link>https://botmonster.com/self-hosting/monitor-linux-servers-grafana-prometheus/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><author>Botmonster</author><guid>https://botmonster.com/self-hosting/monitor-linux-servers-grafana-prometheus/</guid><description><![CDATA[<div class="featured-image">
                <img src="/monitor-linux-servers-grafana-prometheus.png" referrerpolicy="no-referrer">
            </div><p>Deploy <a href="https://prometheus.io/" target="_blank" rel="noopener noreferrer ">Prometheus</a>
 to scrape metrics from <a href="https://github.com/prometheus/node_exporter" target="_blank" rel="noopener noreferrer ">node_exporter</a>
 on each Linux server. Then chart it all in <a href="https://grafana.com/" target="_blank" rel="noopener noreferrer ">Grafana</a>
 with CPU, memory, disk, network, and systemd service health. The full stack (Prometheus 3.x, node_exporter 1.10, Grafana 11.6) can watch a 10-server homelab on one Raspberry Pi 4 or a small VM with 1GB RAM. The community Node Exporter Full dashboard (Grafana ID 1860) gives you production-grade views in under 30 minutes.</p>]]></description></item><item><title>Thunderbolt 5 Explained: What It Means for Linux Users</title><link>https://botmonster.com/self-hosting/thunderbolt-5-explained-linux-users/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><author>Botmonster</author><guid>https://botmonster.com/self-hosting/thunderbolt-5-explained-linux-users/</guid><description><![CDATA[<div class="featured-image">
                <img src="/thunderbolt-5-explained-linux-users.png" referrerpolicy="no-referrer">
            </div><p><a href="https://www.intel.com/content/www/us/en/architecture-and-technology/thunderbolt/overview.html" target="_blank" rel="noopener noreferrer ">Thunderbolt 5</a>
 doubles the pipe to 80 Gbps in both directions (120 Gbps with Bandwidth Boost for displays). It is USB4 v2 compliant and tunnels PCIe Gen 4 x4. For Linux users, that means real gains for eGPU rigs, multi-display docks, and fast NVMe drive bays. Kernel 6.10+ ships basic Thunderbolt 5 support through the <code>thunderbolt</code> driver. Full feature work depends on your distro, firmware, and hardware. The upgrade pays off only when you need more speed than Thunderbolt 4&rsquo;s 40 Gbps can give.</p>]]></description></item><item><title>Zig 1.0 Tutorial: Build a Systems Programming Project Without C</title><link>https://botmonster.com/self-hosting/zig-1-0-tutorial-systems-programming-without-c/</link><pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate><author>Botmonster</author><guid>https://botmonster.com/self-hosting/zig-1-0-tutorial-systems-programming-without-c/</guid><description><![CDATA[<div class="featured-image">
                <img src="/zig-1-0-tutorial-systems-programming-without-c.png" referrerpolicy="no-referrer">
            </div><p>Zig is a modern systems language built to replace C. It keeps manual memory management and zero hidden control flow: no garbage collector, no runtime, and one statically-linked binary that runs anywhere. Install Zig from <a href="https://ziglang.org/download/" target="_blank" rel="noopener noreferrer ">ziglang.org/download</a>
, scaffold a project with <code>zig init</code>, and you&rsquo;ll have a working CLI tool in about 50 lines using <code>comptime</code>, error unions, and first-class C interop. The killer feature: <code>zig build-exe -target x86_64-linux-musl</code> cross-compiles to any target from any host with zero toolchain setup.</p>]]></description></item><item><title>Deploy Ceph with cephadm: 3-node, 12 OSD storage cluster</title><link>https://botmonster.com/self-hosting/set-up-ceph-cluster-distributed-storage-linux/</link><pubDate>Sun, 10 May 2026 00:00:00 +0000</pubDate><author>Botmonster</author><guid>https://botmonster.com/self-hosting/set-up-ceph-cluster-distributed-storage-linux/</guid><description><![CDATA[<div class="featured-image">
                <img src="/set-up-ceph-cluster-distributed-storage-linux.png" referrerpolicy="no-referrer">
            </div><p>Yes, you can build a self-healing, redundant distributed storage cluster using <a href="https://ceph.io/en/" target="_blank" rel="noopener noreferrer ">Ceph</a>
 across three Linux nodes. It&rsquo;s less painful than its reputation suggests, thanks to the modern <code>cephadm</code> tool. You get block storage (RBD) for VMs, a shared POSIX filesystem (CephFS) for many clients, and S3-compatible object storage if you want it. Your data survives the loss of any node, rebalances on its own when hardware changes, and scales from a homelab to petabyte production by adding more disks.</p>]]></description></item><item><title>Best Budget 4K Monitors for Linux Development in 2026</title><link>https://botmonster.com/self-hosting/best-budget-4k-monitors-linux-development-2026/</link><pubDate>Fri, 08 May 2026 00:00:00 +0000</pubDate><author>Botmonster</author><guid>https://botmonster.com/self-hosting/best-budget-4k-monitors-linux-development-2026/</guid><description><![CDATA[<div class="featured-image">
                <img src="/best-budget-4k-monitors-linux-development-2026.png" referrerpolicy="no-referrer">
            </div><p>The best budget 4K monitors for Linux development in 2026 are the <a href="https://www.dell.com/" target="_blank" rel="noopener noreferrer ">Dell</a>
 S2722QC (around $330, USB-C with 65W power delivery, clean out-of-box scaling), the <a href="https://www.lg.com/" target="_blank" rel="noopener noreferrer ">LG</a>
 27UL500-W (around $250, wide color gamut IPS with HDR10), and the <a href="https://www.asus.com/proart/" target="_blank" rel="noopener noreferrer ">ASUS ProArt</a>
 PA279CRV (around $420, factory-calibrated with 96W USB-C PD). All three report correct EDID on major distributions, handle Wayland fractional scaling at 150% or 175% without driver workarounds on kernel 6.x, and deliver the pixel density you need for sharp text at 27 inches.</p>]]></description></item><item><title>Linux Hardening in 30 Minutes: Lynis Score 55 to 84</title><link>https://botmonster.com/self-hosting/linux-hardening-checklist-secure-server-30-minutes/</link><pubDate>Thu, 07 May 2026 00:00:00 +0000</pubDate><author>Botmonster</author><guid>https://botmonster.com/self-hosting/linux-hardening-checklist-secure-server-30-minutes/</guid><description><![CDATA[<div class="featured-image">
                <img src="/linux-hardening-checklist.png" referrerpolicy="no-referrer">
            </div><p>You can shrink your Linux server&rsquo;s attack surface in about 30 minutes. The recipe is simple. Harden SSH with Ed25519 keys, set up <a href="https://wiki.nftables.org/wiki-nftables/index.php/Main_Page" target="_blank" rel="noopener noreferrer ">nftables</a>
 with default-deny, turn on auto security updates, run <a href="https://github.com/linux-audit/audit-userspace" target="_blank" rel="noopener noreferrer ">auditd</a>
 for kernel logs, and lock down accounts with faillock. A typical <a href="https://cisofy.com/lynis/" target="_blank" rel="noopener noreferrer ">Lynis</a>
 score jumps from 55-62 on a stock install to 75-84 after these changes.</p>
<p>Each section below takes 3-7 minutes. Work through it top to bottom on a fresh server. You will have a solid security baseline before your first app deploys, whether that is a database or a privacy-respecting <a href="/self-hosting/self-host-plausible-analytics-vps/" rel="">self-hosted Plausible Analytics</a>
 instance.</p>]]></description></item><item><title>Custom Linux ISOs with Live Build or Cubic: Scripted or GUI</title><link>https://botmonster.com/self-hosting/build-custom-linux-iso-live-build-cubic/</link><pubDate>Sat, 02 May 2026 00:00:00 +0000</pubDate><author>Botmonster</author><guid>https://botmonster.com/self-hosting/build-custom-linux-iso-live-build-cubic/</guid><description><![CDATA[<div class="featured-image">
                <img src="/build-custom-linux-iso-live-build-cubic.png" referrerpolicy="no-referrer">
            </div><p>You can build a personalized Linux live USB image - complete with your preferred packages, desktop environment, configuration files, and branding - using either Debian&rsquo;s <a href="https://live-team.pages.debian.net/live-manual/html/live-manual/index.en.html" target="_blank" rel="noopener noreferrer ">live-build</a>
 toolchain or <a href="https://github.com/PJ-Singh-001/Cubic" target="_blank" rel="noopener noreferrer ">Cubic</a>
 (Custom Ubuntu ISO Creator). live-build is a fully command-line-driven tool that produces reproducible ISOs from configuration files, making it a natural fit for CI/CD pipelines and version-controlled builds. Cubic takes the opposite approach: a GUI that extracts an existing Ubuntu or Debian ISO, drops you into an interactive chroot, and reassembles everything when you are done. Both produce bootable ISO images ready for USB flashing with <a href="https://www.ventoy.net/" target="_blank" rel="noopener noreferrer ">Ventoy</a>
, <code>dd</code>, or <a href="https://etcher.balena.io/" target="_blank" rel="noopener noreferrer ">Balena Etcher</a>
.</p>]]></description></item><item><title>Is Systemd-Nspawn a Better Alternative to Docker for Linux Containers?</title><link>https://botmonster.com/self-hosting/systemd-nspawn-lightweight-containers-without-docker/</link><pubDate>Thu, 30 Apr 2026 00:00:00 +0000</pubDate><author>Botmonster</author><guid>https://botmonster.com/self-hosting/systemd-nspawn-lightweight-containers-without-docker/</guid><description><![CDATA[<div class="featured-image">
                <img src="/systemd-nspawn-lightweight-containers-without-docker.png" referrerpolicy="no-referrer">
            </div><p>Yes. For many workloads, <a href="https://www.freedesktop.org/software/systemd/man/latest/systemd-nspawn.html" target="_blank" rel="noopener noreferrer ">systemd-nspawn</a>
 beats Docker on leanness, simplicity, and host integration. It shines on servers and homelabs where you want isolated environments without daemon overhead. You launch a container with one command, manage it with <code>machinectl</code>, and run it as a systemd service. All the tools already ship with every modern Linux system.</p>
<p>That said, Docker and nspawn solve slightly different problems. Knowing where each one wins makes the choice easy.</p>]]></description></item><item><title>Firejail vs Bubblewrap: Which Linux Sandbox Should You Use?</title><link>https://botmonster.com/self-hosting/firejail-vs-bubblewrap-sandbox-untrusted-apps-linux/</link><pubDate>Wed, 29 Apr 2026 00:00:00 +0000</pubDate><author>Botmonster</author><guid>https://botmonster.com/self-hosting/firejail-vs-bubblewrap-sandbox-untrusted-apps-linux/</guid><description><![CDATA[<div class="featured-image">
                <img src="/firejail-vs-bubblewrap-sandbox-untrusted-apps-linux.png" referrerpolicy="no-referrer">
            </div><p>Firejail and Bubblewrap are the two top lightweight sandbox tools for Linux. They take very different paths to the same job. <a href="https://firejail.wordpress.com/" target="_blank" rel="noopener noreferrer ">Firejail</a>
 is a SUID-root sandbox with over 1,000 ready-made profiles. It works out of the box for browsers, chat apps, and media players. <a href="https://github.com/containers/bubblewrap" target="_blank" rel="noopener noreferrer ">Bubblewrap</a>
 (bwrap) is a small, unprivileged namespace tool. It&rsquo;s the same one <a href="https://flatpak.org/" target="_blank" rel="noopener noreferrer ">Flatpak</a>
 uses inside. You get exact control over what a sandboxed app can see, but you build the sandbox yourself. Want quick desktop isolation with sane defaults? Pick Firejail. Need a tight, auditable sandbox with no SUID binary? Pick Bubblewrap.</p>]]></description></item></channel></rss>