<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="/rss.xsl" type="text/xsl"?><rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Fullmetalbrackets</title><description>A blog about self-hosting, Linux, Docker, and other tech things.</description><link>https://fullmetalbrackets.com/</link><item><title>How to change shape of an existing Oracle Cloud Infrastructure VM instance</title><link>https://fullmetalbrackets.com/blog/how-to-change-shape-of-an-existing-oracle-cloud-infrastructure-vm-instance/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/how-to-change-shape-of-an-existing-oracle-cloud-infrastructure-vm-instance/</guid><description>As of June 15, 2026 the OCI always-free tier will halve the limits of Arm-based Ampere A1 instances down to 2 OCPUs and 12 GB memorys. Free tier users will have their instances shutdown until they edit the shapes to the new limits, while Pay As You Go users will be billed for using resources above these new limits! Editting the shape down (or up, if you&apos;re a paid user) is very easy, here&apos;s a quick guide on how to do it.</description><pubDate>Sat, 13 Jun 2026 12:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/how-to-change-shape-of-an-existing-oracle-cloud-infrastructure-vm-instance.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to find out when a Linux filesystem was created</title><link>https://fullmetalbrackets.com/blog/how-to-find-out-when-a-linux-filesystem-was-created/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/how-to-find-out-when-a-linux-filesystem-was-created/</guid><description>If you want to find out when a Linux filesystem was created, the tune2fs command will give you this information, along with many more details.</description><pubDate>Thu, 14 May 2026 15:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/how-to-find-out-when-a-linux-filesystem-was-created.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Create a custom entity in Home Assistant to detect your public IP address and any changes to it</title><link>https://fullmetalbrackets.com/blog/create-custom-home-assistant-entity-to-detect-changes-public-ip/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/create-custom-home-assistant-entity-to-detect-changes-public-ip/</guid><description>When having a dynamic IP address that can change without you noticing, it can be handy to have a sensor you can add to your Home Assistant that shows the current IP and can be automated to send you notifications when it changes.</description><pubDate>Wed, 13 May 2026 12:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/create-custom-home-assistant-entity-to-detect-changes-public-ip.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Fix for Nintendo Switch OLED not finding 5 GHz Wi-Fi networks</title><link>https://fullmetalbrackets.com/blog/fix-for-nintendo-switch-oled-not-finding-5ghz-wifi-networks/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/fix-for-nintendo-switch-oled-not-finding-5ghz-wifi-networks/</guid><description>In case you encounter this on your Nintendo Switch OLED, especially if it is a Japanese or Asian model, you need to use specific Wi-Fi channels on your router that the console can detect.</description><pubDate>Thu, 23 Apr 2026 12:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/fix-for-nintendo-switch-oled-not-finding-5ghz-wifi-networks.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>YouTube is shoving 90+ second ads onto smart TVs, so here&apos;s a bunch of free open-source YouTube alternative apps to use instead</title><link>https://fullmetalbrackets.com/blog/youtube-90-second-ads-on-tv-apps/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/youtube-90-second-ads-on-tv-apps/</guid><description>YouTube has been on a mission to force it&apos;s users to watch more frequent and longer ads, while also making the experience worse for users that try to use adblockers, to push them onto YouTube Premium. So how about we just say no and start using one of the many free, open-source and privacy-friendly alternatives instead.</description><pubDate>Thu, 09 Apr 2026 20:40:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/youtube-90-second-ads-on-tv-apps.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to migrate AdGuard Home from a GL.iNet Flint 2 router to a Libre Sweet Potato</title><link>https://fullmetalbrackets.com/blog/migrate-adguardhome-glinet-flint2-libre-sweet-potato/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/migrate-adguardhome-glinet-flint2-libre-sweet-potato/</guid><description>I love the Flint 2 router from GL.iNet, but the built-in AdGuard Home cannot handle the amount of devices, blocklists and custom filter rules I need. It crashes when I try to search the query log or add new custom filters, so I decided to take my config and migrate it to a Sweet Potato, and those issues disappeared.</description><pubDate>Thu, 09 Apr 2026 12:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/migrate-adguardhome-glinet-flint2-libre-sweet-potato.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Installing and configuring Bazzite on a Dell XPS 8920</title><link>https://fullmetalbrackets.com/blog/installing-and-configuring-bazzite/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/installing-and-configuring-bazzite/</guid><description>I&apos;m testing out daily driving Bazzite on my old Windows PC, but coming from Debian and Ubuntu there&apos;s some quirks and weirdness I&apos;m not used to, so I made this as a reference for myself and any others who encounter similar issues.</description><pubDate>Mon, 06 Apr 2026 12:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/installing-and-configuring-bazzite.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How I used Astro-OG-Canvas to dynamically generate opengraph images for blog posts on my Astro site</title><link>https://fullmetalbrackets.com/blog/how-to-dynamically-generate-og-images-with-astro/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/how-to-dynamically-generate-og-images-with-astro/</guid><description>After putting it off for a long time, I finally decided I should dynamically generate OG images for my blog posts, since I don&apos;t use typically use a hero image or cover photos. After looking at satori with resvg, I decided that the Astro-OG-Canvas project is a much nicer fit. Here&apos;s how I set it up.</description><pubDate>Fri, 20 Mar 2026 12:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/how-to-dynamically-generate-og-images-with-astro.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to setup the Search function in qBittorrent and add Search Plugins</title><link>https://fullmetalbrackets.com/blog/how-to-setup-the-search-function-in-qbittorrent-and-add-search-plugins/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/how-to-setup-the-search-function-in-qbittorrent-and-add-search-plugins/</guid><description>I used qBittorrent for literally years before realizing that qBittorrent had a built-in way to search for torrents. If you&apos;re as lost as I was, here&apos;s how I set it up so I could search for torrents right inside the web UI.</description><pubDate>Tue, 17 Mar 2026 23:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/how-to-setup-the-search-function-in-qbittorrent-and-add-search-plugins.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Breaking down the free tier of Oracle Cloud Infrastructure</title><link>https://fullmetalbrackets.com/blog/oci-free-tier-breakdown/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/oci-free-tier-breakdown/</guid><description>Oracle Cloud Infrastructure, or OCI for short, has a very generous free tier, but I see a lot of people on the oraclecloud and selfhosted subreddits being confused about exactly what&apos;s included, so here is a straightforward breakdown of every service and allotment in the free tier.</description><pubDate>Tue, 06 Jan 2026 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/oci-free-tier-breakdown.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Set up Plex remote access with a GL.iNet Flint 2 router</title><link>https://fullmetalbrackets.com/blog/plex-remote-access-glinet-flint2/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/plex-remote-access-glinet-flint2/</guid><description>Plex has built-in remote access that mostly just works, but you still have to configure your router to use it properly. Here is a quick guide on configuring a GL.iNet Flint 2 router, which probably also works with other GL.iNet routers using the same GUI.</description><pubDate>Tue, 23 Dec 2025 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/plex-remote-access-glinet-flint2.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Using a Google TV streaming device with Tailscale to remotely stream my Plex library while on vacation</title><link>https://fullmetalbrackets.com/blog/google-tv-tailscale-plex/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/google-tv-tailscale-plex/</guid><description>I have a Plex Pass subscription, but unfortunately Plex&apos;s built-in remote access won&apos;t work behind CGNAT, so I use Tailscale to securely access my Plex library and entire home network when I&apos;m not home. Aside from streaming music or video from my phone or tablet at work, I&apos;ve also started taking a Google TV stick on vacation with me, and with the Tailscale and Plex apps I can stream my library of movies, TV shows and music from anywhere that has a TV and Wi-Fi.</description><pubDate>Tue, 28 Oct 2025 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/google-tv-tailscale-plex.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to upgrade from Debian 12 Bookworm to Debian 13 Trixie</title><link>https://fullmetalbrackets.com/blog/upgrade-debian-12-bookworm-debian-13-trixie/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/upgrade-debian-12-bookworm-debian-13-trixie/</guid><description>My old Dell Optiplex has been a great desktop PC for just minimal interneting and coding. I&apos;ve been running Debian 12 Bookworm on it since it became available. Now that Debian 13 Trixie is available I upgraded to it, and it was a smooth and painless transition. Here&apos;s the process.</description><pubDate>Wed, 21 May 2025 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/upgrade-debian-12-bookworm-debian-13-trixie.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to bypass the Plex Pass and Remote Watch Pass requirements for Plex remote access by using Tailscale</title><link>https://fullmetalbrackets.com/blog/plex-remote-access-tailscale/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/plex-remote-access-tailscale/</guid><description>Beginning April 29th, 2025 the pricing for Plex Pass increased at the same time that remote access got paywalled behind it. Plex no longer allows streaming your own content outside of your home network without paying for Plex Pass, or the new Remote Watch Pass. You can bypass these paywalls, at least for now, by using Tailscale.</description><pubDate>Sat, 17 May 2025 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/plex-remote-access-tailscale.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Setup Apt-Cacher NG as a caching proxy server in your homelab and configure your other Linux hosts to use it</title><link>https://fullmetalbrackets.com/blog/setup-apt-cacher-ng-to-cache-packages-homelab/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/setup-apt-cacher-ng-to-cache-packages-homelab/</guid><description>If your homelab has more than a few servers or VMs running Debian-based distributions, it makes sense to set up a package caching proxy on one of your servers. This guide will show how to set that up, configure your other Linux hosts, and optionally how to use Ansible to automate configuring those other hosts.</description><pubDate>Mon, 03 Mar 2025 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/setup-apt-cacher-ng-to-cache-packages-homelab.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to remove CasaOS from a ZimaBoard and upgrade to Debian 12 Bookworm</title><link>https://fullmetalbrackets.com/blog/remove-casaos-zimaboard-upgrade-debian-12/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/remove-casaos-zimaboard-upgrade-debian-12/</guid><description>ZimaBoard is an x86 single board server that comes running Debian 11 Bullseye and CasaOS. It&apos;s a cool little machine, but after a few months I realized I don&apos;t like CasaOS. Nothing against it, I&apos;m just set in my way of doing things, and their GUI was limiting some of my options. In this post I&apos;ll explain how to remove CasaOS from the ZimaBoard and then upgrade it to Debian 12.</description><pubDate>Mon, 10 Feb 2025 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/remove-casaos-zimaboard-upgrade-debian-12.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How I set up a home server for self-hosting and as a NAS with secure remote access via Tailscale</title><link>https://fullmetalbrackets.com/blog/how-i-setup-home-server/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/how-i-setup-home-server/</guid><description>I turned my old Dell PC into an all-in-one home server and network attached storage to self-host all my data, my photos, and my media library, running Home Assistant, Plex and other services, all securely accessible from outside my home with Tailscale.</description><pubDate>Fri, 31 Jan 2025 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/how-i-setup-home-server.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Setting up a reverse proxy for HTTPS with a custom domain using Nginx Proxy Manager, AdGuard Home and Cloudflare</title><link>https://fullmetalbrackets.com/blog/reverse-proxy-using-nginx-adguardhome-cloudflare/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/reverse-proxy-using-nginx-adguardhome-cloudflare/</guid><description>I&apos;ve used a reverse proxy to access my self-hosted apps and services for years, and used Pi-Hole as my home network DNS for even longer, but recently switched to AdGuard Home. That meant redoing all my DNS records within AdGuard so I could get my reverse proxy back up and running, and I decided to write down the steps I took. When done, we&apos;ll be able to access our apps and services through a custom domain, with unique sub-domains for each app or service, with full HTTPS and accessible only locally.</description><pubDate>Tue, 28 Jan 2025 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/reverse-proxy-using-nginx-adguardhome-cloudflare.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to factory restore a ZimaBoard</title><link>https://fullmetalbrackets.com/blog/factory-restore-zimaboard/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/factory-restore-zimaboard/</guid><description>I&apos;ve recently been playing around with ZimaBoard, a single board server running Debian and CasaOS. It&apos;s a cool little machine, but I accidentally broke something and had to factory reset. It&apos;s not a simple option in a some settings menu, the process involves flashing an image on the ZimaBoard, so I wrote down the steps I took.</description><pubDate>Sun, 22 Dec 2024 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/factory-restore-zimaboard.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Setting up a reverse proxy for HTTPS with a custom domain using Nginx Proxy Manager, Pi-Hole and Cloudflare</title><link>https://fullmetalbrackets.com/blog/reverse-proxy-using-nginx-pihole-cloudflare/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/reverse-proxy-using-nginx-pihole-cloudflare/</guid><description>I&apos;ve used a reverse proxy to access my self-hosted apps and services for years, but I recently re-did everything from scratch and decided to write it down. When done, you&apos;ll be able to access your apps and services through a custom domain, with unique sub-domains for each app or service, with full HTTPS and accessible only locally.</description><pubDate>Thu, 17 Oct 2024 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/reverse-proxy-using-nginx-pihole-cloudflare.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to use Pi-hole from anywhere with Tailscale</title><link>https://fullmetalbrackets.com/blog/pihole-anywhere-tailscale/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/pihole-anywhere-tailscale/</guid><description>Tailscale is my new homelab toy. I&apos;ve been using it to access my media on the go, to connect to a VPS for sharing my Plex library with family, and now for on-the-go adblocking on my phone, tablet and laptop -- here&apos;s how. </description><pubDate>Wed, 25 Sep 2024 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/pihole-anywhere-tailscale.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to expose Plex to share your library with others from behind CGNAT using Tailscale and a free Oracle Cloud instance</title><link>https://fullmetalbrackets.com/blog/expose-plex-tailscale-vps/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/expose-plex-tailscale-vps/</guid><description>I wrote before about sharing my Plex library via Cloudflare Tunnel, but that is technically against their TOS and liable to get your account in trouble. So I switched to using a free-tier Oracle VM, securely connecting it to my home network via Tailscale, and exposing Plex via reverse proxy on the VM. It works like a charm!</description><pubDate>Tue, 03 Sep 2024 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/expose-plex-tailscale-vps.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to expose Plex to share your library with others from behind CGNAT with Cloudflare Tunnel</title><link>https://fullmetalbrackets.com/blog/expose-plex-with-cloudflare/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/expose-plex-with-cloudflare/</guid><description>Exposing Plex to share your library with other users normally involves port forwarding from the router, which is very insecure and not recommended. If your home network is behind CGNAT - very common with most ISPs nowadays -- you can&apos;t even port forward if you wanted to. Here&apos;s how I did it in a fairly secure way that limits access by using Cloudflare.</description><pubDate>Mon, 15 Jul 2024 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/expose-plex-with-cloudflare.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Comprehensive guide to setting up Tailscale to securely access your home network from anywhere</title><link>https://fullmetalbrackets.com/blog/comprehensive-guide-tailscale-securely-access-home-network/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/comprehensive-guide-tailscale-securely-access-home-network/</guid><description>Accessing self-hosted services from outside the home can be a challenge, especially when dealing with CGNAT and having to forward ports from the router. It can be complex to manage and potentially dangerous to your home network&apos;s privacy and security if not done right, but Tailscale makes it easy to set up encrypted peer-to-peer connections between devices across different networks. In this guide I will explain how I use Tailscale as a VPN for secure remote access to my home network.</description><pubDate>Tue, 25 Jun 2024 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/comprehensive-guide-tailscale-securely-access-home-network.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Setup Watchtower to auto-update Docker containers with notifications</title><link>https://fullmetalbrackets.com/blog/watchtower-notifications/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/watchtower-notifications/</guid><description>I&apos;m running almost 30 containers on my home server at this point, and I&apos;m extremely lazy when it comes to updating them. Watchtower is a lightweight set-it-and-forget-it solution to auto-updating containers, and it even has built-in notifications. Here&apos;s how to set it up using either Pushover or Discord.</description><pubDate>Fri, 31 May 2024 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/watchtower-notifications.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Setup X-plore File Manager on Android to transfer files to an SMB share</title><link>https://fullmetalbrackets.com/blog/xplore-android-smb-share/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/xplore-android-smb-share/</guid><description>I&apos;ve wrote before about file managers for Android before, recently I found X-plore which makes it very easy to transfer files back and forth between Android and SMB network shares, once you understand how the UI works. Here&apos;s to connect X-plore to an SMB network share so you can transfer files between devices.</description><pubDate>Tue, 26 Mar 2024 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/xplore-android-smb-share.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to resolve Git error insufficient permission for adding an object to repository database</title><link>https://fullmetalbrackets.com/blog/git-push-error-permissions/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/git-push-error-permissions/</guid><description>When working on a GitHub repo from different Linux hosts, I encountered an &quot;insufficient permission&quot; error when using git commands. Here is the solution that worked for me from StackOverflow.</description><pubDate>Sun, 17 Mar 2024 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/git-push-error-permissions.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Using MergerFS to combine multiple hard drives into one unified media storage</title><link>https://fullmetalbrackets.com/blog/two-drives-mergerfs/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/two-drives-mergerfs/</guid><description>My situation was simple -- my server&apos;s media storage was filling up and I wanted to add more drives, but without having to keep track of which drive specific files were for Plex. How to pool multiple hard drives together when they&apos;re all different brands, models and capacities? Enter mergerfs, an open source union filesystem that essentially merges multiple drives into one mount point.</description><pubDate>Mon, 11 Mar 2024 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/two-drives-mergerfs.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Set up Home Assistant Supervised on a Libre Computer Sweet Potato SBC</title><link>https://fullmetalbrackets.com/blog/setup-home-assistant-sweet-potato-debian/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/setup-home-assistant-sweet-potato-debian/</guid><description>Home Assistant is an open source home automation solution that gives you local control over your smart home. It can also be run on Libre Computer&apos;s boards, but I ran into some issues following the official instructions from Libre, so here&apos;s how I got it working.</description><pubDate>Sun, 03 Mar 2024 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/setup-home-assistant-sweet-potato-debian.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Merging sites and changing hosts</title><link>https://fullmetalbrackets.com/blog/merging-sites-and-changing-hosts/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/merging-sites-and-changing-hosts/</guid><description>Something a little different. Not a guide, just thoughts and opinions about a recent controversy over Netlify, and a decision about the site I made as a result.</description><pubDate>Wed, 28 Feb 2024 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/merging-sites-and-changing-hosts.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Complete guide to self-hosting a website through Cloudflare Tunnel</title><link>https://fullmetalbrackets.com/blog/self-host-website-cloudflare-tunnel/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/self-host-website-cloudflare-tunnel/</guid><description>Self-hosting a static web blog has never been easier thanks to Cloudflare Tunnel. In this guide I explain how to expose a static website self-hosted on a Linux server inside my home network to the internet using Nginx and Cloudflare Tunnel, and securing it with various other free Cloudflare services.</description><pubDate>Fri, 29 Dec 2023 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/self-host-website-cloudflare-tunnel.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Setting up a Libre Computer Sweet Potato SBC with Debian and Pi-Hole</title><link>https://fullmetalbrackets.com/blog/setting-up-sweet-potato-debian-pihole/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/setting-up-sweet-potato-debian-pihole/</guid><description>I&apos;ve been wanting to get a Raspberry Pi for ages, but they were out of stock for the longest time, so I never ended up with one. Recently I learned about the Le Potato from Libre Computer as a Pi-alternative, and after some research paid the $30 early access price for their new Sweet Potato SBC. Here&apos;s how I set it up.</description><pubDate>Thu, 02 Nov 2023 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/setting-up-sweet-potato-debian-pihole.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Quick guide to setting up SMB shares</title><link>https://fullmetalbrackets.com/blog/quick-guide-setting-up-smb/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/quick-guide-setting-up-smb/</guid><description>Setting up SMB shares is fairly easy, but I do it so infrequently I often forget the steps and need to look them up anyway. So I made myself two sets of smb config files for quickly setting up shares, either public or with a login required.</description><pubDate>Wed, 01 Nov 2023 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/quick-guide-setting-up-smb.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>OpenMediaVault Quick Reference</title><link>https://fullmetalbrackets.com/blog/openmediavault-quick-reference/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/openmediavault-quick-reference/</guid><description>I&apos;ve been using OpenMediaVault 6 for over a year now, and it&apos;s user interface can be a bit obtuse, so I wrote myself a series of quick step-by-step guides for enabling certain features within the OMV workbench UI.</description><pubDate>Sun, 30 Jul 2023 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/openmediavault-quick-reference.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Using a forwarding resolver in Pi-Hole for DNS over TLS (Upgrade Pi-Hole v6)</title><link>https://fullmetalbrackets.com/blog/pi-hole-quad9-dls-over-tls/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/pi-hole-quad9-dls-over-tls/</guid><description>A quick guide on configuring Pi-Hole to use either Cloudflared or Unbound as forwarding resolver to Quad9, for encrypted queries using DNS over TLS.</description><pubDate>Thu, 27 Jul 2023 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/pi-hole-quad9-dls-over-tls.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Setup a Cloudflare Tunnel to securely access self-hosted apps with a domain from outside the home network</title><link>https://fullmetalbrackets.com/blog/setup-cloudflare-tunnel-to-access-self-hosted-apps/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/setup-cloudflare-tunnel-to-access-self-hosted-apps/</guid><description>Cloudflare Tunnels have been around for a few years and are well regarded alternatives for VPNs or port-forwarding on a router. They are often used to expose access to self-hosted apps from outside the local network with minimal config or hassle. Here&apos;s how it&apos;s done.</description><pubDate>Thu, 20 Jul 2023 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/setup-cloudflare-tunnel-to-access-self-hosted-apps.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Set up a reverse proxy for OpenMediaVault, Plex and Navidrome using Nginx Proxy Manager and Pi-Hole</title><link>https://fullmetalbrackets.com/blog/reverse-proxy-nginx-pihole/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/reverse-proxy-nginx-pihole/</guid><description>My scenario was simple: I wanted to access the web GUIs of OpenMediaVault, Plex and Navidrome via a URL like plex.home.arpa without having to remember IPs and ports, inside my home network only and without the need for SSL/HTTPS. Nothing fancy, nothing accessible from outside my house. Here&apos;s how I did that with Nginx Proxy Manager as the reverse proxy and Pi-Hole as the DNS.</description><pubDate>Sat, 15 Jul 2023 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/reverse-proxy-nginx-pihole.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Using DNS over HTTPS with Pi-Hole and Cloudflared (Updated for Pi-Hole v6)</title><link>https://fullmetalbrackets.com/blog/using-dns-over-https-with-pihole/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/using-dns-over-https-with-pihole/</guid><description>When using Pi-Hole as a network-wide ad blocker, your DNS requests still go out in plain text and can be seen by your ISP. DNS over HTTPS encrypts DNS requests between your Pi-Hole and the upstream DNS resolver. Here is a quick guide on how to set that up with Cloudflared daemon.</description><pubDate>Thu, 13 Jul 2023 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/using-dns-over-https-with-pihole.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Set up PhotoSync app to backup photos from your phone to an SMB share on your home server</title><link>https://fullmetalbrackets.com/blog/setup-photosync-with-smb-server/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/setup-photosync-with-smb-server/</guid><description>Google Photos began limiting free storage back in 2021, limiting you to 15 GB of storage when uploading photos in their original size uncompressed. Rather than wait and see if I hit the cap, I decided to try replacing Google Photos with a self-hosted solution. Here&apos;s how I did it.</description><pubDate>Fri, 07 Jul 2023 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/setup-photosync-with-smb-server.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Commands to turn off display in the Linux terminal</title><link>https://fullmetalbrackets.com/blog/turn-off-display-linux-terminal/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/turn-off-display-linux-terminal/</guid><description>Sometimes I use laptops in the home lab, and to save myself on a few watts of power usage I use these terminal commands to turn off the display, then just SSH into it from my PC.</description><pubDate>Sat, 03 Dec 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/turn-off-display-linux-terminal.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to autologin on Ubuntu and go straight to terminal</title><link>https://fullmetalbrackets.com/blog/autologin-ubuntu-on-reboot/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/autologin-ubuntu-on-reboot/</guid><description>Configure an Ubuntu machine to autologin and go straight into the terminal on boot.</description><pubDate>Fri, 25 Nov 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/autologin-ubuntu-on-reboot.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Build a minimal blog with Deno and host it on Deno Deploy</title><link>https://fullmetalbrackets.com/blog/minimal-blog-deno-deploy/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/minimal-blog-deno-deploy/</guid><description>I&apos;d been meaning to play around with Deno and finally got around to doing it in the quickest, easiest (and laziest) way possible -- using a minimal blog template. I also took the opportunity to learn how Deno Deploy works. The whole thing is quick and painless, here&apos;s how to do it.</description><pubDate>Sat, 19 Nov 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/minimal-blog-deno-deploy.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to use Solid Explorer app to access SMB network shares from an Android device</title><link>https://fullmetalbrackets.com/blog/solid-explorer-samba-share/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/solid-explorer-samba-share/</guid><description>There are many File Managers/File Explorers on the Google Play Store, but I wanted to easily access the Samba share on my server while on my home network. Solid Explorer is the solution I went with and it works well, so here is a quick guide to setting it up.</description><pubDate>Mon, 07 Nov 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/solid-explorer-samba-share.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to run self-hosted FileBrowser in Docker</title><link>https://fullmetalbrackets.com/blog/how-to-run-filebrowser-in-docker/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/how-to-run-filebrowser-in-docker/</guid><description>FileBrowser is a self-hosted file manager for a specified directory in a Linux machine that lets you upload, download, move, copy, create, delete, rename, and edit your files in a nice web interface through your browser. Here&apos;s a quick guide to setting it up in Docker.</description><pubDate>Fri, 04 Nov 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/how-to-run-filebrowser-in-docker.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to generate a GPG key and use it to sign git commits</title><link>https://fullmetalbrackets.com/blog/how-to-generate-gpg-to-sign-git-commits/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/how-to-generate-gpg-to-sign-git-commits/</guid><description>Generating and using a GPG key is not difficult, but every time I need to remember how to do it to sign my commits from a new machine, I need to go through several pages of explanation on GitHub. So I made myself a terse and concise one-page quick guide, here it is.</description><pubDate>Sun, 30 Oct 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/how-to-generate-gpg-to-sign-git-commits.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Set up NFS Shares between Linux hosts</title><link>https://fullmetalbrackets.com/blog/setup-nfs-shares-linux/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/setup-nfs-shares-linux/</guid><description>Network File Share or NFS allows sharing directories between Linux hosts on the same network, similar to Samba though it has better performance with small and medium-sized files comparatively. Here&apos;s a quick guide on setting up an NFS share between Linux hosts.</description><pubDate>Sat, 29 Oct 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/setup-nfs-shares-linux.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Setup Prometheus, Node Exporter, Cadvisor and Grafana in Docker</title><link>https://fullmetalbrackets.com/blog/setup-prometheus-cadvisor-grafana/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/setup-prometheus-cadvisor-grafana/</guid><description>When running a headless home server, you may want to set up a monitoring solution to keep track of your server&apos;s performance. Node Exporter will expose your server&apos;s metrics, cAdvisor will expose metrics for Docker containers, and Prometheus will scrape and collect those metrics, which is then used as a data source for Grafana dashboards. Here&apos;s how to get it all set up in Docker.</description><pubDate>Thu, 20 Oct 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/setup-prometheus-cadvisor-grafana.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Setup self-hosted Jellyfin Media Server in Docker</title><link>https://fullmetalbrackets.com/blog/setting-up-jellyfin-in-docker/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/setting-up-jellyfin-in-docker/</guid><description>Plex is a popular media server for self-hosting, but it&apos;s not open source and recently locked the ability to remotely stream your own content behind a paywall, so one cannot be blamed for seeking an alternative to Plex. Jellyfin is a free and open source self-hosted media server that just might be what you&apos;re looking for.</description><pubDate>Tue, 18 Oct 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/setting-up-jellyfin-in-docker.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Setup self-hosted Plex Media Server in Docker</title><link>https://fullmetalbrackets.com/blog/setting-up-plex-in-docker/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/setting-up-plex-in-docker/</guid><description>Plex Media Server is one of the most popular services to self-host since serves your personal media library -- videos, music and even photos -- with a nice Netflix-like UI. Though you can install and run it bare-metal, the most common and easiest way is in a Docker container. Here&apos;s how.</description><pubDate>Mon, 17 Oct 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/setting-up-plex-in-docker.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Setup auto-updates in Debian and Ubuntu with Unattended-Upgrades and NeedRestart</title><link>https://fullmetalbrackets.com/blog/setup-unattended-upgrades/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/setup-unattended-upgrades/</guid><description>If you want your Linux machine to stay up-to-date on important security updates, but you don&apos;t want to SSH into it all the time to run updates and would rather set it and forget it, this is the way.</description><pubDate>Fri, 14 Oct 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/setup-unattended-upgrades.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>PowerShell commands cheat sheet</title><link>https://fullmetalbrackets.com/blog/powershell-commands-cheat-cheat/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/powershell-commands-cheat-cheat/</guid><description>I&apos;m much more comfortable using Bash over PowerShell, but there are definitely times that you need to use command line on Windows. So I keep a small, but growing list of my most commonly used cmdlets, their Linux-like aliases, and other must-know commands.</description><pubDate>Sun, 09 Oct 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/powershell-commands-cheat-cheat.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to format and/or partition disks in Linux</title><link>https://fullmetalbrackets.com/blog/how-to-format-partiton-linux/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/how-to-format-partiton-linux/</guid><description>Just a quick guide to format and partition hard drives in Linux command line that I wrote for myself a long time ago, and recently had to reference again.</description><pubDate>Sat, 08 Oct 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/how-to-format-partiton-linux.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Set up Pi-Hole for network-wide ad blocking and Unbound for recursive DNS (Updated for Pi-Hole v6)</title><link>https://fullmetalbrackets.com/blog/set-up-pihole-on-linux/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/set-up-pihole-on-linux/</guid><description>Besides just using a browser extension for ad blocking, I&apos;ve been using Pi-Hole for years to prevent all devices on my network from getting ads, and stopping smart home devices from phoning home for telemetry and tracking. Pi-Hole will run on almost anything that can run Linux, is very easy to set up, and super effective with the right blocklists.</description><pubDate>Sat, 08 Oct 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/set-up-pihole-on-linux.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Set a static IP in Debian</title><link>https://fullmetalbrackets.com/blog/set-static-ip-debian/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/set-static-ip-debian/</guid><description>Debian&apos;s non-graphical install does not give you the option to set a static IP, here&apos;s a quick guide to doing it manually on the command line.</description><pubDate>Fri, 07 Oct 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/set-static-ip-debian.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Using Surge.sh to quickly and easily host static sites</title><link>https://fullmetalbrackets.com/blog/using-surge-sh-to-host-static-sites/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/using-surge-sh-to-host-static-sites/</guid><description>Although I love using Netlify to host my site, for testing out sites and simple apps I have fallen in love with Surge.sh, a ridiculously simple web hosting solution that works entirely from the command line.</description><pubDate>Wed, 05 Oct 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/using-surge-sh-to-host-static-sites.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to keep a Linux laptop on when the lid is closed</title><link>https://fullmetalbrackets.com/blog/keeping-a-linux-laptop-on-with-the-lid-closed/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/keeping-a-linux-laptop-on-with-the-lid-closed/</guid><description>I sometimes use old laptops as headless servers in my homelab when I want to test something on Linux, or play around with a new distribution, and I prefer to keep them closed so they take up less space. A few quick commands will keep the laptop even on with the lid closed.</description><pubDate>Tue, 04 Oct 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/keeping-a-linux-laptop-on-with-the-lid-closed.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Customizing the Windows Terminal command prompt with Oh-My-Posh</title><link>https://fullmetalbrackets.com/blog/customizing-windows-terminal-with-ohmyposh/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/customizing-windows-terminal-with-ohmyposh/</guid><description>While I use Zsh with Oh-My-Zsh for making my Linux terminal pretty, it&apos;s not available for Windows. Luckily it&apos;s brother from another mother Oh-My-Posh basically does the same thing for Windows Terminal and PowerShell.</description><pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/customizing-windows-terminal-with-ohmyposh.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Setting up a Docker container stack with Docker Compose</title><link>https://fullmetalbrackets.com/blog/setting-up-a-container-stack-with-docker-compose/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/setting-up-a-container-stack-with-docker-compose/</guid><description>I&apos;ve been running a bunch of services on my home server in docker containers for a few years now. It&apos;s quick and easy to set up once you get used to it. Here&apos;s a quick and dirty guide to installing Docker and Docker Compose, and getting several containers up and running.</description><pubDate>Thu, 29 Sep 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/setting-up-a-container-stack-with-docker-compose.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to transfer files between hosts with Secure Copy utility (SCP)</title><link>https://fullmetalbrackets.com/blog/transferring-files-between-hosts-with-scp/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/transferring-files-between-hosts-with-scp/</guid><description>Using the Secure Copy utility in Linux lets you securely transfer files to and from remote hosts via the SSH protocol, it comes with every Linux distribution, and it&apos;s very easy to use.</description><pubDate>Mon, 26 Sep 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/transferring-files-between-hosts-with-scp.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Markdown hacks</title><link>https://fullmetalbrackets.com/blog/markdown-hacks/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/markdown-hacks/</guid><description>Markdown can render A LOT of characters and symbols using specific &apos;entities&apos;, and can do other things like render tables, so I made myself a list of common or handy, but easy-to-forget markdown hacks based off the official Markdown Guide.</description><pubDate>Tue, 20 Sep 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/markdown-hacks.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Linux Commands &amp; Keyboard Shortcuts Cheat Sheet</title><link>https://fullmetalbrackets.com/blog/basic-linux-commands/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/basic-linux-commands/</guid><description>Just a quick cheat sheet of basic and slightly less basic Linux commands, as well as handy keyboard shortcuts, that I maintain for myself since I can&apos;t always remember them all.</description><pubDate>Sun, 18 Sep 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/basic-linux-commands.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>VIM Quick Guide</title><link>https://fullmetalbrackets.com/blog/vim-quick-guide/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/vim-quick-guide/</guid><description>Whenever I use Vim to edit files on Linux, I need to relearn how to use it. Years ago I found a thread on Stack Overflow with two simple and extremely useful answers that helped me make sense of Vim. So here it is.</description><pubDate>Sat, 17 Sep 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/vim-quick-guide.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Styling the kbd element</title><link>https://fullmetalbrackets.com/blog/styling-the-kbd-element/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/styling-the-kbd-element/</guid><description>I wanted to style my &lt;kbd&gt; element to look like a keyboard, and a google search took me to someone else&apos;s blog post that had a nice bit of code and invited others to steal it. So I did.</description><pubDate>Fri, 09 Sep 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/styling-the-kbd-element.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Bootstrapping a fresh Linux install with Ansible</title><link>https://fullmetalbrackets.com/blog/bootstrapping-fresh-install-with-ansible/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/bootstrapping-fresh-install-with-ansible/</guid><description>Ansible is an IT tool that enables Infrastructure as Code, letting you automate provisioning, configuration, management and deployment of services and applications. I like using it at a fraction of it&apos;s full power to bootstrap fresh installs of Linux for my homelab.</description><pubDate>Sat, 03 Sep 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/bootstrapping-fresh-install-with-ansible.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to use Sudo command without being prompted for password</title><link>https://fullmetalbrackets.com/blog/sudo-without-password/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/sudo-without-password/</guid><description>If you find yourself using the sudo command a lot and are tired of typing your password constantly, you can make the password prompt go away by editting a single line in one configuration file.</description><pubDate>Wed, 20 Apr 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/sudo-without-password.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Turn a static website into a progressive web app</title><link>https://fullmetalbrackets.com/blog/turn-static-website-into-pwa/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/turn-static-website-into-pwa/</guid><description>Frameworks and libraries are great and all, but sometimes you just want to make a simple website with only HTML, CSS and JavaScript — maybe without the latter even. When making a PWA, it’s common to use a framework like Vue or a library like Workbox, which requires a bundler like Webpack. In truth, that’s completely unnecessary!</description><pubDate>Fri, 07 Jan 2022 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/turn-static-website-into-pwa.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Quick guide to set up Zsh and Oh-My-Zsh with essential plugins and a theme</title><link>https://fullmetalbrackets.com/blog/guide-to-zsh-ohmyzsh-plugins-and-theme/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/guide-to-zsh-ohmyzsh-plugins-and-theme/</guid><description>I&apos;ve been getting more and more comfortable working on the command line in Linux, and looked into ways to pretty it up and make it more user friendly. Enter Zsh, an alternative to Bash shell, and the Oh-My-Zsh framework used to customize the terminal experience to your heart&apos;s content. Here&apos;s my basic set up.</description><pubDate>Sat, 04 Dec 2021 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/guide-to-zsh-ohmyzsh-plugins-and-theme.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>You should be using Nuxt-Vite module with Nuxt 2 (if it works)</title><link>https://fullmetalbrackets.com/blog/you-should-be-using-nuxt-vite-module-with-nuxt-2-if-it-works/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/you-should-be-using-nuxt-vite-module-with-nuxt-2-if-it-works/</guid><description>One of the not-so-great parts of developing with Nuxt is the several seconds of wait time for your dev server to warm up, and several more seconds of waiting for hot-module reloading or HMR. The forthcoming Nuxt 3 (currently in beta) will have Vite built-in for ultra-fast HMR in development. Because the Nuxt/Content module does not work with Nuxt 3 as of this writing, we must continue using Nuxt 2, but we can still get fast HMR with the awesome Nuxt-Vite module!</description><pubDate>Sat, 23 Oct 2021 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/you-should-be-using-nuxt-vite-module-with-nuxt-2-if-it-works.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to use a custom PrismJS theme with Nuxt/Content</title><link>https://fullmetalbrackets.com/blog/how-to-use-a-custom-prismjs-theme-with-nuxt-content/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/how-to-use-a-custom-prismjs-theme-with-nuxt-content/</guid><description>PrismJS is great for making code blocks look pretty, it comes with a set of several themes out of the box, and there&apos;s also many more additional themes available as a separate package on NPM and Yarn. But what if none of those matches the color scheme of your website? With Nuxt you can easily use a custom CSS file to make your code blocks perfectly match the overall look of your site or blog. Here&apos;s how.</description><pubDate>Mon, 18 Oct 2021 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/how-to-use-a-custom-prismjs-theme-with-nuxt-content.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to use Netlify Forms in a Nuxt site and make sure it gets detected</title><link>https://fullmetalbrackets.com/blog/how-to-use-netlify-forms-in-a-nuxt-site-and-make-sure-it-gets-detected/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/how-to-use-netlify-forms-in-a-nuxt-site-and-make-sure-it-gets-detected/</guid><description>Netlify has many awesome built-in features, and one of them is Netlify Forms, which essentially handles the &quot;back-end&quot; of your forms in most cases. But when hosting your Nuxt site on Netlify, it may not detect it even after you follow the instructions in their documentation, usually because there&apos;s one key &quot;trick&quot; missing that just makes it work. So let&apos;s discuss that trick and make sure Netlify Forms does what it&apos;s supposed to.</description><pubDate>Mon, 11 Oct 2021 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/how-to-use-netlify-forms-in-a-nuxt-site-and-make-sure-it-gets-detected.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Setting up and configuring Nuxt/Sitemap module in a Nuxt/Content blog</title><link>https://fullmetalbrackets.com/blog/setting-up-and-configuring-nuxt-sitemap-module-in-a-nuxt-content-blog/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/setting-up-and-configuring-nuxt-sitemap-module-in-a-nuxt-content-blog/</guid><description>The excellent Nuxt/Sitemap module can automatically generate a new sitemap.xml at each build, and you can set either static and/or dynamic routes in it&apos;s config. It can also auto-generate routes to your blog posts (or whatever other content) fetched and displayed in a slug file, so a new post shows up with the correct route in the sitemap when created. Here&apos;s a quick and simple guide for Nuxt/Sitemap to generate routes to your Nuxt/Content blog posts, whether static or SSR.</description><pubDate>Fri, 08 Oct 2021 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/setting-up-and-configuring-nuxt-sitemap-module-in-a-nuxt-content-blog.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to host a static website with AWS Amplify</title><link>https://fullmetalbrackets.com/blog/host-a-static-website-with-aws-amplify/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/host-a-static-website-with-aws-amplify/</guid><description>Getting started learning Amazon Web Services can be a bit intimidating. Once you&apos;ve created your free account there&apos;s so many services on the AWS console that it can be overwhelming and confusing to figure out where to get started. So let&apos;s ease our way and start by just hosting a simple static website with AWS Amplify, it only takes a few minutes!</description><pubDate>Wed, 29 Sep 2021 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/host-a-static-website-with-aws-amplify.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Setup SSH authentication to push to Github</title><link>https://fullmetalbrackets.com/blog/setup-ssh-authentication-to-push-to-github/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/setup-ssh-authentication-to-push-to-github/</guid><description>Setting up SSH keys and pushing to GitHub without needing to enter a username and password has always been a good practice, but now that GitHub is deprecating basic username and password authentication, it&apos;s past time to get this set up if you haven&apos;t already. It&apos;s pretty simple and only takes a few minutes, here&apos;s the quick and dirty instructions.</description><pubDate>Tue, 21 Sep 2021 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/setup-ssh-authentication-to-push-to-github.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Using Prism.js in a Nuxt static site</title><link>https://fullmetalbrackets.com/blog/using-prismjs-in-a-nuxt-static-site/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/using-prismjs-in-a-nuxt-static-site/</guid><description>I was having some issue getting this to work on a static (not SSR) site made with Nuxt, and although I read through a bunch of blog articles, most of them seemed to be missing some piece of information or other that made it not work for me. After mixing and matching some of the instructions, and combining the useful info with the official Nuxt documentation, I finally did all the necessary steps and got it to work. So here&apos;s a clear, succinct guide to using Prism.js in a Nuxt static site.</description><pubDate>Fri, 17 Sep 2021 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/using-prismjs-in-a-nuxt-static-site.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Rsync - A Quick Guide</title><link>https://fullmetalbrackets.com/blog/rsync-a-quick-guide/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/rsync-a-quick-guide/</guid><description>Rsync is a very handy tool for doing high-speed file transfers between Linux hosts over a local network or remote hosts on the internet, such as EC2 instances on Amazon Web Services. You can pass options to Rsync to do things like recursive transfer (all files and sub-directories within the source directory are also transferred), ignore existing or newer files at the destination, and more.</description><pubDate>Wed, 15 Sep 2021 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/rsync-a-quick-guide.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to mount (either internal or external) hard drives in Linux</title><link>https://fullmetalbrackets.com/blog/mounting-hard-drives-in-linux/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/mounting-hard-drives-in-linux/</guid><description>When using Linux headless, such as via SSH or with no desktop environment, accessing a newly installed hard drive (not just external USB drives, but additional internal HDDs too) is not obvious, and most people end up having to Google it. I know I did. So let&apos;s have a quick and dirty guide on how.</description><pubDate>Mon, 13 Sep 2021 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/mounting-hard-drives-in-linux.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to generate an SSH key pair</title><link>https://fullmetalbrackets.com/blog/generating-an-ssh-key-pair/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/generating-an-ssh-key-pair/</guid><description>Secure Shell is a protocol for securely connecting from one computer to another. As a web developer, you will probably end up using SSH a lot, and even if you don&apos;t it&apos;s a handy skill to have. Here&apos;s a quick guide on how to generate SSH keys and copy them to other machines.</description><pubDate>Sun, 12 Sep 2021 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/generating-an-ssh-key-pair.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Git commands cheat sheet</title><link>https://fullmetalbrackets.com/blog/git-commands-cheat-sheet/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/git-commands-cheat-sheet/</guid><description>When I was learning Git, in order to avoid giant articles and get right to the commands I needed reminding of, I made myself a cheat sheet that plainly and succinctly explained each Git command. Here is that quick and dirty guide of Git commands that you will likely use often as a web developer.</description><pubDate>Wed, 08 Sep 2021 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/git-commands-cheat-sheet.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>How to copy SSH Keys between different hosts</title><link>https://fullmetalbrackets.com/blog/copy-ssh-keys-between-hosts/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/copy-ssh-keys-between-hosts/</guid><description>How to copy SSH keys between Linux hosts and from Windows to Linux.</description><pubDate>Tue, 07 Sep 2021 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/copy-ssh-keys-between-hosts.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>5 ways to easily host your web site for free</title><link>https://fullmetalbrackets.com/blog/5-ways-to-host-site-free/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/5-ways-to-host-site-free/</guid><description>So you&apos;re learning web development, building things locally and only ever seeing your site or app when you run it on your computer. But how do you get this thing online so you can make sure it works on the interwebs? How do you learn headers, content-security-policy and CORS without having a site hosted online to work with? And how to do it FOR FREE?</description><pubDate>Mon, 06 Sep 2021 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/5-ways-to-host-site-free.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Setup a Samba share on Linux via command line</title><link>https://fullmetalbrackets.com/blog/setup-a-samba-share-on-linux-via-command-line/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/setup-a-samba-share-on-linux-via-command-line/</guid><description>A quick and dirty guide on how to easily set up a Samba share on Linux that can be accessed from Windows PCs on the same network.</description><pubDate>Wed, 01 Sep 2021 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/setup-a-samba-share-on-linux-via-command-line.png" medium="image" type="image/png" width="1200" height="630"/></item><item><title>Sideload the DirecTV Stream app on Sony Bravia TV with Android TV</title><link>https://fullmetalbrackets.com/blog/sideload-the-directv-stream-app-on-sony-bravia-tv-with-android-tv/</link><guid isPermaLink="true">https://fullmetalbrackets.com/blog/sideload-the-directv-stream-app-on-sony-bravia-tv-with-android-tv/</guid><description>I have a Sony Bravia 4K TV and it is awesome. It has built-in Android TV so you can use Android apps on your TV, but not every app is available, and one of those is DirecTV Stream -- necessary to view live TV from my cable provider, AT&amp;T, without need for a separate set-top box. So here&apos;s how to sideload the DirecTV Stream app on Sony Bravia TVs without using the Google Play Store.</description><pubDate>Tue, 31 Aug 2021 00:00:00 GMT</pubDate><media:content url="https://fullmetalbrackets.com/og/sideload-the-directv-stream-app-on-sony-bravia-tv-with-android-tv.png" medium="image" type="image/png" width="1200" height="630"/></item></channel></rss>