<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Selfhosting on Mike Bell - Blog &amp; Stuff</title><link>https://mikebell.io/categories/selfhosting/</link><description>Recent content in Selfhosting on Mike Bell - Blog &amp; Stuff</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>hello@mikebell.io (Mike Bell)</managingEditor><webMaster>hello@mikebell.io (Mike Bell)</webMaster><copyright>© 2026 Mike Bell</copyright><lastBuildDate>Fri, 10 Apr 2026 12:39:48 +0000</lastBuildDate><atom:link href="https://mikebell.io/categories/selfhosting/index.xml" rel="self" type="application/rss+xml"/><item><title>Tuning my renovate config</title><link>https://mikebell.io/posts/2026-04-10-tuning-my-renovate-config/</link><pubDate>Fri, 10 Apr 2026 12:39:48 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/2026-04-10-tuning-my-renovate-config/</guid><description>
&lt;p>I took some time last night to finally tune my renovate setup. There were a few issues with it - none of it renovates or my tech stacks fault, just stuff I wasn&amp;rsquo;t too happy with and things that could be improved.&lt;/p>
&lt;p>If your interested in my current working config &lt;a
href="https://code.remotelab.uk/infrastructure/renovate-config"
target="_blank"
>here&lt;/a> it is.&lt;/p>
&lt;h2 class="relative group">renovate.json to default.json
&lt;div id="renovatejson-to-defaultjson" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#renovatejson-to-defaultjson" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>When I first setup up renovate I used &lt;code>renovate.json&lt;/code> as my main config, not sure why. I&amp;rsquo;ve changed it to &lt;code>default.json&lt;/code> which is recommended by the debug output in the workflow run. This also means I can have a renovate config for this specific repo, in the future I&amp;rsquo;ll be configure auto apply of patch level updates.&lt;/p>
&lt;h2 class="relative group">minimumReleaseAge
&lt;div id="minimumreleaseage" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#minimumreleaseage" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>This is a work around for the Tofu provider registers, when a new release of the AWS provider is released it takes a bit to get into the tofu registry so I&amp;rsquo;ve set this to a day to prevent broken builds.&lt;/p>
&lt;h2 class="relative group">prCreation
&lt;div id="prcreation" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#prcreation" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>This is set to &lt;code>not-pending&lt;/code> this means renovate will wait till checks have passed before creating the PR, if they don&amp;rsquo;t exist then it creates the PR after 25 (odd default) hours see next.&lt;/p>
&lt;h2 class="relative group">prNotPendingHours
&lt;div id="prnotpendinghours" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#prnotpendinghours" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>This is set to&lt;code>1&lt;/code> hour, I don&amp;rsquo;t need to wait 25 hours for the PR to be created if there are no checks, I think this is the lowest it will go.&lt;/p>
&lt;h2 class="relative group">dependencyDashboard
&lt;div id="dependencydashboard" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#dependencydashboard" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>This is set to &lt;code>true&lt;/code>. It creates an issue in each repo with the dependancy dashboard. I&amp;rsquo;m not sure I like it so will probably disable it moving forward.&lt;/p>
&lt;p>Renovate config is really powerful and I&amp;rsquo;m only just scratching the surface with it. Hopefully this gives you a bit of an idea at what it can do and how you can shape it to your own requirements.&lt;/p>
&lt;p>Thanks for reading via RSS!&lt;/p>
&lt;p>Send me a message on &lt;a href="https://remotelab.uk/mikebell">Mastodon&lt;/a> or &lt;a href="mailto:hello@mikebell.io">email me&lt;/a>&lt;/p></description></item><item><title>Homelab Update March 2026</title><link>https://mikebell.io/posts/homelab-update-march-2026/</link><pubDate>Mon, 16 Mar 2026 20:40:46 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/homelab-update-march-2026/</guid><description>
&lt;p>It&amp;rsquo;s been a few months since my &lt;a
href="https://mikebell.io/posts/homelab-update-january-2026/"
target="_blank"
>last&lt;/a> update as per usual! I try not to blog for the sake of it so I wait until I have a few things of value to update on.&lt;/p>
&lt;h2 class="relative group">External Backups
&lt;div id="external-backups" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#external-backups" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>I&amp;rsquo;ve been using &lt;a
href="https://restic.net/"
target="_blank"
>Restic&lt;/a> on my remote server to backup Forgejo repos for a while now so finally decided to roll it out to my homelab for Immich backups. Immich has some really nice backup and restore documentation and everything you need to backup its nicely stored in one folder (if you have a fairly default installation). Instead of using Restic cli I decided to look into a GUI solution in the form of &lt;a
href="https://github.com/garethgeorge/backrest"
target="_blank"
>Backrest&lt;/a>, after a few days of testing it out I&amp;rsquo;m really impressed with it, it takes a lot of the hassle out of configure restic through the CLI. I like how to UI is set up into two distinct areas - plans and repos. I&amp;rsquo;d assumed in Restic you had one &amp;ldquo;plan&amp;rdquo; per repo but this makes it a lot clearer that you can backup multiple &amp;ldquo;things&amp;rdquo; to one repo which is awesome. For storage I&amp;rsquo;m using Backblaze B2, another service I&amp;rsquo;m not super familiar with but their storage seems pretty cheap and my 45gb Immich instance shouldn&amp;rsquo;t cost me too much per month and gives me a sense of security.&lt;/p>
&lt;p>My next task is to actually test what a restore looks like. This will most likely be a migration to an external server which I&amp;rsquo;m then going to open up to the rest of my family.&lt;/p>
&lt;h2 class="relative group">Resound
&lt;div id="resound" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#resound" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>If you&amp;rsquo;ve come from my mastodon feed then you saw the post being automatically posted by my new CLI tool called &lt;a
href="https://code.remotelab.uk/mikebell/resound"
target="_blank"
>Resound&lt;/a>. It&amp;rsquo;s a go app that takes an RSS feed and Mastodon client and posts the last item to your feed. It does duplication checking and has a template that you can configure the content of the toot with. It was a really nice little project which I&amp;rsquo;m still building on. None of it was vibe coded either which was really nice, I love writing code and being able to do it without the assistance of AI.&lt;/p>
&lt;p>This is the first thing I&amp;rsquo;ve built from scratch in a long while and it also uses 100% self hosted CI/CD pipelines.&lt;/p>
&lt;h2 class="relative group">ForgeJo Mobile Web UI
&lt;div id="forgejo-mobile-web-ui" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#forgejo-mobile-web-ui" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Shout out the mobile web ui in ForgeJo, I&amp;rsquo;ve been using it on the go to review automated PRs and merge them in when I&amp;rsquo;m satisfied with the build output. It&amp;rsquo;s been really good to have a tool that works as you expect it and allows you to do stuff like this on the go.&lt;/p>
&lt;h2 class="relative group">Hetzner Price Increases
&lt;div id="hetzner-price-increases" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#hetzner-price-increases" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Hetzner have upped their prices by 30-40% which sucks. My external server bill is pretty small (&amp;lt;20 Euros a month) but I have plans to increase the number of servers and existing servers power in the future.&lt;/p>
&lt;p>My forgejo server needs more power, well the runners do. Building containers is taking longer than I would like. If I don&amp;rsquo;t up the server specs I could run the runners on other hardware I own but there&amp;rsquo;s networking issues with that (see Tailscale).&lt;/p>
&lt;p>I need a new isolated server for a family Immich instance. I&amp;rsquo;m not sure what this will look like at the moment but it&amp;rsquo;s likely to cost a fair bit in storage space.&lt;/p>
&lt;h2 class="relative group">Tailscale
&lt;div id="tailscale" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#tailscale" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>I&amp;rsquo;ve been holding off using &lt;a
href="https://tailscale.com/"
target="_blank"
>Tailscale&lt;/a> for a while now, I like all my tools to be self hosted where possible but Tailscale solves a problem I&amp;rsquo;ve had for a long while now and I should probably spend a bit of time with it. I&amp;rsquo;ve also looked at &lt;a
href="https://headscale.net/stable/"
target="_blank"
>Headscale&lt;/a> which I&amp;rsquo;d be happy to selfhost but not until I&amp;rsquo;m comfortable with how Tailscale works, networking has never been one of my strengths.&lt;/p>
&lt;hr>
&lt;p>That&amp;rsquo;s about it for this months/quarters homelab update. If your interested in more of these types of posts I have a category with all my updates in &lt;a
href="https://mikebell.io/categories/homelab/"
target="_blank"
>here&lt;/a>.&lt;/p>
&lt;p>I&amp;rsquo;m also on the look out for new monitors, my LG Ultragear Piece of Shit (tm) is finally getting on my nerves (burn in and random turn offs). I need 2 hybrid gaming/office monitors so if you have any suggestions please get in touch.&lt;/p>
&lt;p>Thanks for reading via RSS!&lt;/p>
&lt;p>Send me a message on &lt;a href="https://remotelab.uk/mikebell">Mastodon&lt;/a> or &lt;a href="mailto:hello@mikebell.io">email me&lt;/a>&lt;/p></description></item><item><title>My Lemmy experiment is over</title><link>https://mikebell.io/posts/lemmy-experiment/</link><pubDate>Wed, 02 Oct 2024 08:38:06 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/lemmy-experiment/</guid><description>
&lt;p>After over a year I&amp;rsquo;m going to take down my personal Lemmy server. Running it on Hetzner has been relatively easy and with only a few hiccups along the way, for a single user instance it uses about 20-30gb of storage for it&amp;rsquo;s db and image cache.&lt;/p>
&lt;h2 class="relative group">Why did you selfhost?
&lt;div id="why-did-you-selfhost" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#why-did-you-selfhost" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Like most people after the Reddit enshitification I was looking for a new home, Lemmy seemed like the right place. Rather than jump on the bigger servers I decided I&amp;rsquo;d selfhost it and have a another little part of the internet for myself, similar to how I have my own Mastodon instance.&lt;/p>
&lt;p>Selfhosting Lemmy was actually a lot easier than Mastodon so I was quite surprised to be up and running as quickly as I was, posts started federating very quickly and I was seeing content from around 40-50 different communities I subscribed to across some of the bigger servers.&lt;/p>
&lt;h2 class="relative group">Why take it down?
&lt;div id="why-take-it-down" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#why-take-it-down" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ol>
&lt;li>Content - the communities I follow have been slowly dying, the mass exodus from reddit fueled a gold rush to Lemmy which was great but over time content quality and quantity has declined.&lt;/li>
&lt;li>Moderation - every so often I find that communities I follow have been abandoned and waves of spam hit them, it&amp;rsquo;s not fun knowing that you have no power other than to block a million accounts. Reporting posts only affects my instance which isn&amp;rsquo;t very useful.&lt;/li>
&lt;li>Racism/Homophobia/Extremism, I see more racist, homophobic and extremist language than I thought I would, again blocking users is the only solution. I don&amp;rsquo;t go out of my way to find this content I find it just filters into communities I&amp;rsquo;m already part of.&lt;/li>
&lt;li>I&amp;rsquo;m happy with Mastodon, this is a fairly simple one to explain, Mastodon is everything I want from a social media platform. There are still issues with it but at least with Lemmy gone it&amp;rsquo;s one less thing to worry about.&lt;/li>
&lt;li>It&amp;rsquo;s tied to my identity, it wouldn&amp;rsquo;t take someone very long to do a bit of exploring to find out who I am on Lemmy and that really restricted my usage of it, it&amp;rsquo;s no different to being on my own Mastodon instance but Lemmy just feels worse. I&amp;rsquo;ve only ever posted a handful of comments because of this.&lt;/li>
&lt;/ol>
&lt;h2 class="relative group">Will I come back?
&lt;div id="will-i-come-back" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#will-i-come-back" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Nah, the web has fundamentally changed and my usage of it has to as well. Reddit was great, a fountain of useful knowledge until it wasn&amp;rsquo;t. What I wanted out of Lemmy was the same thing but you can&amp;rsquo;t beat Reddit and Google, you can only try and avoid them and build your own piece of the internet.&lt;/p>
&lt;p>Thanks for reading via RSS!&lt;/p>
&lt;p>Send me a message on &lt;a href="https://remotelab.uk/mikebell">Mastodon&lt;/a> or &lt;a href="mailto:hello@mikebell.io">email me&lt;/a>&lt;/p></description></item><item><title>Moving Away from Spotify</title><link>https://mikebell.io/posts/moving-away-from-spotify/</link><pubDate>Thu, 07 Mar 2024 09:51:56 +0000</pubDate><author>hello@mikebell.io (Mike Bell)</author><guid>https://mikebell.io/posts/moving-away-from-spotify/</guid><description>
&lt;p>Spotifys quality sucks, it&amp;rsquo;s UX is horrible and it pays it&amp;rsquo;s artists pretty much sod all so it&amp;rsquo;s time to move away and build my own cloud music service. It&amp;rsquo;s a lot easier than it sounds!&lt;/p>
&lt;h2 class="relative group">How do I get my data?
&lt;div id="how-do-i-get-my-data" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#how-do-i-get-my-data" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Replacing each and every album I have saved on Spotify is no mean feat, I have hundreds saved on there. My first problem was getting all that data out of Spotify into something easy to understand, you can request &lt;em>all&lt;/em> your data from Spotify &lt;a
href="https://support.spotify.com/uk/article/data-rights-and-privacy-settings/"
target="_blank"
>here&lt;/a>. You request your data then wait a few days for it to show up, you get a boat load of badly organised JSON which isn&amp;rsquo;t great.&lt;/p>
&lt;p>Parsing all that data is the next job, I ended up using &lt;a
href="https://github.com/Yooooomi/your_spotify"
target="_blank"
>Your Spotify&lt;/a>. It connects to your existing Spotify account and downloads the last 30 days (I think) of data. You can also import your existing data from the json files you got earlier. This then builds up an accurate picture of what you&amp;rsquo;ve been listening to over your entire Spotify existence, in my case around 10 years.&lt;/p>
&lt;h2 class="relative group">Where does the music come from?
&lt;div id="where-does-the-music-come-from" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#where-does-the-music-come-from" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>This is where Your Spotify comes in really handy I can search around my data and find albums that I want to buy first. Most of my music is purchased from &lt;a
href="https://bandcamp.com/"
target="_blank"
>Bandcamp&lt;/a>, it turns out that supporting artists properly (ish) is quite a lot more than £17.99 a month. It&amp;rsquo;s a slow process as I&amp;rsquo;m not quite ready to drop thousands on all the music from my Spotify account but I&amp;rsquo;m getting there. I reckon it&amp;rsquo;ll probably take me around 5-10 years at the rate I&amp;rsquo;m going to fully rebuild my collection. I&amp;rsquo;m ok with this.&lt;/p>
&lt;h2 class="relative group">Where do I store it?
&lt;div id="where-do-i-store-it" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#where-do-i-store-it" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>I&amp;rsquo;ve lost my music collection once before many many years ago and it&amp;rsquo;s heartbreaking so this time everything is a bit more secure. I have a 20tb NAS which has redundancies in case of failure, I&amp;rsquo;m also planning some form of cloud backup in the future.&lt;/p>
&lt;h2 class="relative group">How do I sort it?
&lt;div id="how-do-i-sort-it" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#how-do-i-sort-it" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>For this I&amp;rsquo;m using &lt;a
href="https://beets.readthedocs.io/en/stable/index.html"
target="_blank"
>Beets&lt;/a> a CLI tool has plugin support. When I grab an album I use &lt;code>beet import&lt;/code> to import which renames the files and if possible downloads a &lt;code>cover.jpg&lt;/code> file. &lt;a
href="https://www.navidrome.org/"
target="_blank"
>Navidrome&lt;/a> scans my music folder once an hour for new music, although I can do this manually.&lt;/p>
&lt;h2 class="relative group">How do I listen to it all?
&lt;div id="how-do-i-listen-to-it-all" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#how-do-i-listen-to-it-all" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>I have an NFS share from my NAS to my Proxmox server which then connects to a dockerised Navidrome setup. This acts as my music server. I can play music through Navidrome but prefer to have third party clients connect:&lt;/p>
&lt;ul>
&lt;li>Windows 11 and OSX - &lt;a
href="https://github.com/dweymouth/supersonic"
target="_blank"
>Supersonic&lt;/a>&lt;/li>
&lt;li>Android TV - &lt;a
href="https://jellyfin.org/"
target="_blank"
>Jellyfin&lt;/a>&lt;/li>
&lt;li>Android - &lt;a
href="https://play.google.com/store/apps/details?id=app.symfonik.music.player&amp;amp;hl=en&amp;amp;gl=US"
target="_blank"
>Symfonium&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>All these apps (apart from Jellyfin) connect to Navidrome.&lt;/p>
&lt;h3 class="relative group">Symfonium and transcoding
&lt;div id="symfonium-and-transcoding" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#symfonium-and-transcoding" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>The neat thing about Synfonium and Navidrome is that it transcodes on the fly so when I&amp;rsquo;m out and about and I don&amp;rsquo;t want to use gigs of mobile data it transcodes down to Opus Audio:&lt;/p>
&lt;pre tabindex="0">&lt;code>ffmpeg -i %s -map 0:0 -b:a %bk -v 0 -c:a libopus -f opus -
&lt;/code>&lt;/pre>&lt;p>I need to play around with Opus Audio to get an idea of what it&amp;rsquo;s capable but the file size vs quality is pretty damned good at the moment.&lt;/p>
&lt;h2 class="relative group">Conclusion
&lt;div id="conclusion" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#conclusion" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>I&amp;rsquo;m really happy with this setup, I&amp;rsquo;m not tied to any one application and any component can be swapped out at any time giving me the freedom to try different things.&lt;/p>
&lt;hr>
&lt;h2 class="relative group">Discuss at
&lt;div id="discuss-at" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#discuss-at" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;iframe src="https://remotelab.uk/@mikebell/112087551082246586/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen">&lt;/iframe>&lt;script src="https://remotelab.uk/embed.js" async="async">&lt;/script>
&lt;p>Thanks for reading via RSS!&lt;/p>
&lt;p>Send me a message on &lt;a href="https://remotelab.uk/mikebell">Mastodon&lt;/a> or &lt;a href="mailto:hello@mikebell.io">email me&lt;/a>&lt;/p></description></item></channel></rss>