RSSAmplifier

Blog

Fullmetalbrackets

A blog about self-hosting, Linux, Docker, and other tech things.

fullmetalbrackets.comRSS feed ↗82 posts

Latest posts

How to change shape of an existing Oracle Cloud Infrastructure VM instance

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're a paid user) is very easy, here's a quick…

How to find out when a Linux filesystem was created

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.

Create a custom entity in Home Assistant to detect your public IP address and any changes to it

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.

Fix for Nintendo Switch OLED not finding 5 GHz Wi-Fi networks

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.

YouTube is shoving 90+ second ads onto smart TVs, so here's a bunch of free open-source YouTube alternative apps to use instead

YouTube has been on a mission to force it'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.

How to migrate AdGuard Home from a GL.iNet Flint 2 router to a Libre Sweet Potato

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.

Installing and configuring Bazzite on a Dell XPS 8920

I'm testing out daily driving Bazzite on my old Windows PC, but coming from Debian and Ubuntu there's some quirks and weirdness I'm not used to, so I made this as a reference for myself and any others who encounter similar issues.

How I used Astro-OG-Canvas to dynamically generate opengraph images for blog posts on my Astro site

After putting it off for a long time, I finally decided I should dynamically generate OG images for my blog posts, since I don'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's how I set it up.

How to setup the Search function in qBittorrent and add Search Plugins

I used qBittorrent for literally years before realizing that qBittorrent had a built-in way to search for torrents. If you're as lost as I was, here's how I set it up so I could search for torrents right inside the web UI.

Breaking down the free tier of Oracle Cloud Infrastructure

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's included, so here is a straightforward breakdown of every service and allotment in the free tier.

Set up Plex remote access with a GL.iNet Flint 2 router

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.

Using a Google TV streaming device with Tailscale to remotely stream my Plex library while on vacation

I have a Plex Pass subscription, but unfortunately Plex's built-in remote access won't work behind CGNAT, so I use Tailscale to securely access my Plex library and entire home network when I'm not home. Aside from streaming music or video from my phone or tablet at work, I'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…

How to upgrade from Debian 12 Bookworm to Debian 13 Trixie

My old Dell Optiplex has been a great desktop PC for just minimal interneting and coding. I'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's the process.

How to bypass the Plex Pass and Remote Watch Pass requirements for Plex remote access by using Tailscale

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.

Setup Apt-Cacher NG as a caching proxy server in your homelab and configure your other Linux hosts to use it

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.

How to remove CasaOS from a ZimaBoard and upgrade to Debian 12 Bookworm

ZimaBoard is an x86 single board server that comes running Debian 11 Bullseye and CasaOS. It's a cool little machine, but after a few months I realized I don't like CasaOS. Nothing against it, I'm just set in my way of doing things, and their GUI was limiting some of my options. In this post I'll explain how to remove CasaOS from the ZimaBoard and then upgrade it to Debian 12.

How I set up a home server for self-hosting and as a NAS with secure remote access via Tailscale

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.

Setting up a reverse proxy for HTTPS with a custom domain using Nginx Proxy Manager, AdGuard Home and Cloudflare

I'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'll be able to access our apps and services through a…

How to factory restore a ZimaBoard

I've recently been playing around with ZimaBoard, a single board server running Debian and CasaOS. It's a cool little machine, but I accidentally broke something and had to factory reset. It'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.

Setting up a reverse proxy for HTTPS with a custom domain using Nginx Proxy Manager, Pi-Hole and Cloudflare

I'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'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.

How to use Pi-hole from anywhere with Tailscale

Tailscale is my new homelab toy. I'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's how.

How to expose Plex to share your library with others from behind CGNAT using Tailscale and a free Oracle Cloud instance

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!

How to expose Plex to share your library with others from behind CGNAT with Cloudflare Tunnel

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't even port forward if you wanted to. Here's how I did it in a fairly secure way that limits access by using Cloudflare.

Comprehensive guide to setting up Tailscale to securely access your home network from anywhere

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'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…

Setup Watchtower to auto-update Docker containers with notifications

I'm running almost 30 containers on my home server at this point, and I'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's how to set it up using either Pushover or Discord.

Setup X-plore File Manager on Android to transfer files to an SMB share

I'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's to connect X-plore to an SMB network share so you can transfer files between devices.

How to resolve Git error insufficient permission for adding an object to repository database

When working on a GitHub repo from different Linux hosts, I encountered an "insufficient permission" error when using git commands. Here is the solution that worked for me from StackOverflow.

Using MergerFS to combine multiple hard drives into one unified media storage

My situation was simple -- my server'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're all different brands, models and capacities? Enter mergerfs, an open source union filesystem that essentially merges multiple drives into one mount point.

Set up Home Assistant Supervised on a Libre Computer Sweet Potato SBC

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's boards, but I ran into some issues following the official instructions from Libre, so here's how I got it working.

Merging sites and changing hosts

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.

Complete guide to self-hosting a website through Cloudflare Tunnel

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.

Setting up a Libre Computer Sweet Potato SBC with Debian and Pi-Hole

I'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's how I set it up.

Quick guide to setting up SMB shares

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.

OpenMediaVault Quick Reference

I've been using OpenMediaVault 6 for over a year now, and it'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.

Using a forwarding resolver in Pi-Hole for DNS over TLS (Upgrade Pi-Hole v6)

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.

Setup a Cloudflare Tunnel to securely access self-hosted apps with a domain from outside the home network

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's how it's done.

Set up a reverse proxy for OpenMediaVault, Plex and Navidrome using Nginx Proxy Manager and Pi-Hole

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's how I did that with Nginx Proxy Manager as the reverse proxy and Pi-Hole as the DNS.

Using DNS over HTTPS with Pi-Hole and Cloudflared (Updated for Pi-Hole v6)

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.

Set up PhotoSync app to backup photos from your phone to an SMB share on your home server

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's how I did it.

Commands to turn off display in the Linux terminal

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.

How to autologin on Ubuntu and go straight to terminal

Configure an Ubuntu machine to autologin and go straight into the terminal on boot.

Build a minimal blog with Deno and host it on Deno Deploy

I'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's how to do it.

How to use Solid Explorer app to access SMB network shares from an Android device

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.

How to run self-hosted FileBrowser in Docker

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's a quick guide to setting it up in Docker.

How to generate a GPG key and use it to sign git commits

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.

Set up NFS Shares between Linux hosts

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's a quick guide on setting up an NFS share between Linux hosts.

Setup Prometheus, Node Exporter, Cadvisor and Grafana in Docker

When running a headless home server, you may want to set up a monitoring solution to keep track of your server's performance. Node Exporter will expose your server'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's how to get it all set up in Docker.

Setup self-hosted Jellyfin Media Server in Docker

Plex is a popular media server for self-hosting, but it'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're looking for.

Setup self-hosted Plex Media Server in Docker

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's how.

Setup auto-updates in Debian and Ubuntu with Unattended-Upgrades and NeedRestart

If you want your Linux machine to stay up-to-date on important security updates, but you don't want to SSH into it all the time to run updates and would rather set it and forget it, this is the way.