<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tech Setup on Shadowfish</title><link>https://shadowfish.night-tower.net/categories/tech-setup/</link><description>Recent content in Tech Setup on Shadowfish</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>© 2026 Shadowfish</copyright><lastBuildDate>Tue, 21 Jul 2026 11:06:00 +0200</lastBuildDate><atom:link href="https://shadowfish.night-tower.net/categories/tech-setup/index.xml" rel="self" type="application/rss+xml"/><item><title>My Newly Found Love for Grafana: Visualizing My Homelab Metrics</title><link>https://shadowfish.night-tower.net/post/grafana-metrics-homelab-exploration/</link><pubDate>Tue, 21 Jul 2026 10:00:00 +0200</pubDate><guid>https://shadowfish.night-tower.net/post/grafana-metrics-homelab-exploration/</guid><description>&lt;p&gt;Every homelabber reaches a point where running &lt;code&gt;htop&lt;/code&gt; and &lt;code&gt;df -h&lt;/code&gt; in a loop simply isn&amp;rsquo;t enough anymore. When your self-hosted ecosystem grows, having real-time, historical visibility into your hardware becomes a necessity.&lt;/p&gt;
&lt;p&gt;This is the story of my newly found love for &lt;strong&gt;Grafana&lt;/strong&gt; and how I set up a robust, visually stunning monitoring stack for my personal homelab repository, &lt;a href="https://github.com/psilore/night-tower" target="_blank" rel="noreferrer"&gt;night-tower&lt;/a&gt;.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shadowfish.night-tower.net/post/grafana-metrics-homelab-exploration/featured.png"/></item><item><title>Codex Quidvis: Using Git as a Lightweight Documentation Engine</title><link>https://shadowfish.night-tower.net/post/codex-quidvis-git-documentation/</link><pubDate>Sun, 05 Jan 2025 12:00:00 +0100</pubDate><guid>https://shadowfish.night-tower.net/post/codex-quidvis-git-documentation/</guid><description>&lt;p&gt;When the servers go down and the panic sets in, the last thing you want to search for is a missing login credential or configuration file. Here is how I built a lightweight, private, and future-proof &amp;ldquo;Codex&amp;rdquo; using nothing but Git and Markdown.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shadowfish.night-tower.net/post/codex-quidvis-git-documentation/featured.png"/></item><item><title>Pwnagotchi Take 2: Building a WiFi-Sniffing AI Companion</title><link>https://shadowfish.night-tower.net/post/pwnagotchi-hardware-setup-guide/</link><pubDate>Fri, 03 Jan 2025 12:00:00 +0100</pubDate><guid>https://shadowfish.night-tower.net/post/pwnagotchi-hardware-setup-guide/</guid><description>&lt;p&gt;If you have ever wanted a Tamagotchi-like digital pet that feeds on WPA handshakes instead of virtual snacks, you need a &lt;strong&gt;Pwnagotchi&lt;/strong&gt;. After losing my first one on a bus somewhere, I decided it was time to build a replacement.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shadowfish.night-tower.net/post/pwnagotchi-hardware-setup-guide/featured.png"/></item><item><title>Netgotchi: Monitoring LAN Traffic with a Network Honeypot</title><link>https://shadowfish.night-tower.net/post/netgotchi-lan-network-honeypot/</link><pubDate>Sat, 24 Aug 2024 12:00:00 +0200</pubDate><guid>https://shadowfish.night-tower.net/post/netgotchi-lan-network-honeypot/</guid><description>&lt;p&gt;When was the last time you checked what was actually happening inside your local network? After losing my Pwnagotchi on a bus somewhere (doing its own business, I&amp;rsquo;m sure), I decided it was time to deploy a &lt;strong&gt;Netgotchi&lt;/strong&gt;.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shadowfish.night-tower.net/post/netgotchi-lan-network-honeypot/featured.png"/></item><item><title>How to Install and Host n8n.io on Ubuntu</title><link>https://shadowfish.night-tower.net/post/n8n-installation-ubuntu/</link><pubDate>Sat, 20 Jan 2024 12:00:00 +0100</pubDate><guid>https://shadowfish.night-tower.net/post/n8n-installation-ubuntu/</guid><description>&lt;p&gt;Self-hosting your automation is the ultimate way to maintain data privacy, gain unlimited execution runs, and bypass Zapier&amp;rsquo;s costly subscription tiers. Here is a complete guide to installing and running &lt;strong&gt;n8n.io&lt;/strong&gt; on an Ubuntu server.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shadowfish.night-tower.net/post/n8n-installation-ubuntu/featured.png"/></item><item><title>Real-World Automation: Solving Everyday Tech Problems with Bash &amp; n8n</title><link>https://shadowfish.night-tower.net/post/real-world-automation-bash-n8n/</link><pubDate>Thu, 18 Jan 2024 12:00:00 +0100</pubDate><guid>https://shadowfish.night-tower.net/post/real-world-automation-bash-n8n/</guid><description>&lt;p&gt;Theory is great, but nothing beats seeing how automation actually solves messy, real-world tech bottlenecks. Here are six practical ways developers and sysadmins combine &lt;strong&gt;Bash&lt;/strong&gt; and &lt;strong&gt;n8n&lt;/strong&gt; to get things done.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shadowfish.night-tower.net/post/real-world-automation-bash-n8n/featured.png"/></item><item><title>How to Fix Steam GUI Flickering on Debian Linux</title><link>https://shadowfish.night-tower.net/post/fix-steam-gui-flickering-debian-linux/</link><pubDate>Sat, 19 Aug 2023 12:00:00 +0200</pubDate><guid>https://shadowfish.night-tower.net/post/fix-steam-gui-flickering-debian-linux/</guid><description>&lt;p&gt;If you are running the Steam client on Debian (or other Linux distros) and the user interface is flickering like a broken neon sign, you aren&amp;rsquo;t alone. Fortunately, the fix takes less than thirty seconds.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shadowfish.night-tower.net/post/fix-steam-gui-flickering-debian-linux/featured.png"/></item><item><title>Why Don't Companies Invest in Basic Security? SSH Key Management Made Simple</title><link>https://shadowfish.night-tower.net/post/corporate-security-1password-ssh-agent/</link><pubDate>Fri, 14 Jul 2023 12:00:00 +0200</pubDate><guid>https://shadowfish.night-tower.net/post/corporate-security-1password-ssh-agent/</guid><description>&lt;p&gt;When corporate security failures occur, it is rarely because the solutions are too expensive. It is usually because organizations fail to adopt the basic, simple workflows that protect their developers—like proper SSH key management.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shadowfish.night-tower.net/post/corporate-security-1password-ssh-agent/featured.png"/></item><item><title>High-Quality GIFs with FFmpeg: A Two-Step CLI Guide</title><link>https://shadowfish.night-tower.net/post/ffmpeg-high-quality-gifs-script/</link><pubDate>Tue, 16 Aug 2022 12:00:00 +0200</pubDate><guid>https://shadowfish.night-tower.net/post/ffmpeg-high-quality-gifs-script/</guid><description>&lt;p&gt;Tired of grainy, pixelated GIFs that look like they were made in 1995? With FFmpeg, you can generate crisp, high-quality GIFs from any video in just two simple commands.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shadowfish.night-tower.net/post/ffmpeg-high-quality-gifs-script/featured.png"/></item><item><title>Dynamic Card Gradients: Extracting Image Colors in Vue</title><link>https://shadowfish.night-tower.net/post/dynamic-card-gradients-vue-colorjs/</link><pubDate>Fri, 07 May 2021 12:00:00 +0200</pubDate><guid>https://shadowfish.night-tower.net/post/dynamic-card-gradients-vue-colorjs/</guid><description>&lt;p&gt;Ever wanted your user interface to automatically adapt to the colors of its content? Generating dynamic card gradients from prominent image colors is a great way to make your design feel responsive, premium, and alive.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shadowfish.night-tower.net/post/dynamic-card-gradients-vue-colorjs/featured.png"/></item><item><title>Docker Sync: Slash Container Startup Times on macOS</title><link>https://shadowfish.night-tower.net/post/docker-sync-decrease-start-times/</link><pubDate>Sat, 21 Nov 2020 12:00:00 +0100</pubDate><guid>https://shadowfish.night-tower.net/post/docker-sync-decrease-start-times/</guid><description>&lt;p&gt;If you are developing inside Docker containers on macOS, you&amp;rsquo;ve probably faced the dreaded, coffee-break-inducing startup times. Here is how I slashed my container spin-up times from a painful 10 minutes down to just under 4 seconds using Docker Sync.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shadowfish.night-tower.net/post/docker-sync-decrease-start-times/featured.png"/></item><item><title>Strapi in a Container: Setting Up a Headless CMS on Your Lunch Break</title><link>https://shadowfish.night-tower.net/post/strapi-headless-cms-docker-lunch-break/</link><pubDate>Sun, 10 Mar 2019 12:00:00 +0100</pubDate><guid>https://shadowfish.night-tower.net/post/strapi-headless-cms-docker-lunch-break/</guid><description>&lt;p&gt;Can you spin up a fully functioning headless CMS and configure a database in under an hour? I challenged myself to deploy &lt;strong&gt;Strapi.io&lt;/strong&gt; on my lunch break, and the results were surprisingly smooth.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shadowfish.night-tower.net/post/strapi-headless-cms-docker-lunch-break/featured.png"/></item></channel></rss>