LINUX Unplugged - 617: The Disposable Server
Episode Date: June 1, 2025Spin up, share, nuke. We each build a throwaway server, and then rate each others' setups.Sponsored By:Tailscale: Tailscale is a programmable networking software that is private and secure by default ...- get it free on up to 100 devices! 1Password Extended Access Management: 1Password Extended Access Management is a device trust solution for companies with Okta, and they ensure that if a device isn't trusted and secure, it can't log into your cloud apps. Support LINUX UnpluggedLinks:💥 Gets Sats Quick and Easy with Strike📻 LINUX Unplugged on Fountain.FMTUI ChallengeTUI Challenge ScorecardSelf-Hosted 150: The Last One — Before hitting the road, we test the limits of local-first file sharing, debate what self-hosting really is, and share our all-time favorite apps.Pick: ws4kp — A web-based WeatherStar 4000Pick: ytdl-sub — Lightweight tool to automate downloading and metadata generation with yt-dlp.
Transcript
Discussion (0)
Alright, here we go boys! It is time for episode 116.
100?
Oh my god, what's wrong with me?
Oh god.
Going back in time. Look how beautiful we are.
Hello friends and welcome back to your weekly Linux talk show.
My name is Chris.
My name is Wes.
And my name is Brett.
Hello, gentlemen.
Coming up on the show today, we're getting ready for the TUI challenge by locking into
a disposable server mini challenge this week.
We'll tell you all about that.
Plus, because we love doing this for some reason, we're gonna do a live update of our extremely precious
production-grade Nextcloud server.
We didn't tell Drew about this beforehand.
He's just finding out if it worked and he got the files.
Then we're gonna round the show out
with some great boosts and picks and a lot more.
So before I go any further, let's say good morning
to our friends at Tailscale, tailscale.com slash unplugged.
Tailscale is the easiest way to connect your devices
and services to each other,
wherever they are, whatever they might be.
I'm talking VPSs across multiple providers,
your mobile device, your machines on your land.
It is modern networking that connects devices
directly to each other over a mesh network
protected by a wild goll.
Yes!
Nice one.
I mean, we're talking really fast, secure, remote access
that you can get up and running in just a few minutes.
It is a intuitive, programmable way
to manage a private network.
It kind of fills in the gaps
that the internet never quite delivered.
Back in the day, when I got my first public IP
on a land that I managed,
every single node was on the public internet.
And that's how you just move files between each other.
That's crazy today.
But on a tail scale mesh network, which we call a tail net,
you can have all of your nodes across complex networks
with ACLs that are defined by the admin console
that tie into your existing authentication infrastructure.
When you go to tailscale.com slash unplugged, you can try it for free on 100 devices for
three users, no credit card required.
That's the plan I'm on for my personal account and I've used it for a few years now and I
have no inbound ports on any of my firewalls and I realized we need to do this at Jupiter
broadcasting to thousands of other companies.
Thousands of listeners are using tailscale.
Go try it out for yourself or your business.
Just start at tailscale.com slash unplugged.
Well, the Terminal User Interface Challenge
kicks off next week in episode 618,
which will be coming out on June 8th,
and we'd love to have you join us.
I have in the show notes linked the two we challenge rules,
which are the final edition
after incorporating everyone's feedback.
The idea is for this to run seven days.
The objective is to complete some common computing tasks
using only terminal applications.
So no GUI apps like Firefox, LibreOffice, Thunderbird,
et cetera, other than your terminal emulator, of course.
So you can use your terminal emulator, Wes.
We have a point system for completing the challenges.
There's also some bonus points in there
for some creative solutions.
We also have outlined how you should share your progress,
and I've created a scoreboard
so people can have a little scorecard.
Ooh, okay, so it's like the rules
digested into a little table?
What do we got here? Yeah, so you can track your progress as you complete the challenge and I don't know
I don't know my githubs, but I think people could take this and
They could post it on their githubs and then they did and they could link it to us
either in a boost or on the contact form and
Bob's your uncle we could see their score
so there's a total of 170 points available.
And so we're gonna total up how we all did
and see who comes out on top.
I think it's gonna be-
I'm getting nervous,
because I know you've been doing homework
and a bunch of listeners have been building apps and stuff
to get ahead on this.
There are some easy low-hanging fruit points.
So easy stuff is 10 points.
Stuff that's a little bit harder is 20 points. And then things that are a little more complicated are worth fruit points. So like easy stuff is like 10 points. Stuff that's a little bit harder is 20 points.
And then things that are a little more complicated
are worth 30 points.
So you could knock out a few things
and get some big points
or you could do some of the easy stuff.
And all the challenge tasks,
there's a day one task, a day two,
all the way to day seven are all outlined
in the challenge rules,
which we will have linked in the show notes.
And we will officially begin at the start of next episode.
Ha ha ha.
So, I guess figure out your web browser solution.
Yeah, we're gonna need to be able to look at the doc.
Ha ha ha. Yeah.
So, 618 is when it kicks off, Sunday, June 8th.
We will stream that episode live over at jblive.tv and jblive.fm.
If you want to have fun with us and join us live
or just listen on the download and participate and let us know how you did.
Or I suppose just kick back and enjoy the ride.
Should be a fun seven days.
Now we're going to do something that you should never do and we're going to live update our
production Nextcloud instance on the air.
And this is the instance we use to upload this very show
to editor Drew and all of our productions.
We use it for all kinds of things,
but we like to run these things in production
and then report back to you how they've actually done.
And part of that is updating them live on the show.
And if it blows up, we have to own it live on the show.
How you feeling, Wes Payne?
About as good as one can.
I've at least got the Docker Compose file updated
and pre-pulled the images.
So now we just gotta, you know, down and up.
All right.
Can we get a little reminder of how old this box is?
Surprisingly not that old.
I don't remember the last time we updated it,
but apparently not that far in the past.
Yeah, we're like a version and a half behind or something.
Yeah, about that.
Not too bad for us, actually.
All right.
Let's give it a go.
Now, best case scenario,
it pulls down everything just fine,
starts the new container,
and there isn't anything you have to do,
like in the past, where you've had to enter the container
and do some OSC commands or OCS commands. I do sometimes do that anyway, you know, but you're right
Hopefully there's nothing and like it just automatically applies any needed data by its migrations. Yeah, let's take a look at the logs
Yeah starting up. Okay, we're updating a bunch of apps. So that's probably good. Okay. Yeah, that's always part of this files PDF viewer to 4.0
I'm gonna get a tab ready. so when you tell me to check it,
it'll be ready.
Uh oh.
Starting integrity check.
Okay.
Integrity check is good.
Still going.
Uh oh.
Update successful, turning off maintenance mode,
resetting log, level initialization finished.
Notice, ready to handle connections.
Let's go find out then.
Okay.
I'm seeing activity in the logs.
Okay.
Get indexed on PHP.
That's me.
I'm gonna see if I can log in.
Are you ready, West Bay?
I am.
This is the final test.
This would be really great.
This would probably be one of our smoothest ever, I think.
Except you probably have to log into your password manager several times. Yep. Okay, here I go. Okay,, I think. Except you probably have to log in
to your password manager several times.
Yep, okay, here I go.
Okay, here I go.
I'm seeing 200.
Hey, there it is, Wes!
You got it!
Now the real test is can you actually upload a file,
but I suppose that can wait till the end of the show.
Hey, if they're hearing this episode,
I think it means it worked.
That is the smoothest Nextcloud upgrade we've done yet.
["The Nextcloud Upgrade Theme"]
Live right here on the air, well done.
That's gotten a lot smoother.
That used to be a process where you'd have to go in
and then manually do some of those upgrades.
Yeah.
It's nice to see that smooth out.
So that's on theme with this week's episode.
Don't necessarily do as we do.
And we, with that disclosed, wanted
to try out a little mini challenge this episode.
While we were recording the last episode of Self-Hosted, Episode
150, we were remarking in the episode about a common problem.
Some of our favorite self-hosted apps
are just not that easy to share with friends and family. You know, Audio Bookshelf I think is a good
example of this. Melee is another example of this.
LubeLogger is another example of this. And the one that we were talking about
in self-hosted, especially when you compare it to the alternative, is Jellyfin.
Plex really solves this problem. They make it easy to share media with friends and family
if everybody has a Plex account and you're all in.
But if you're trying to live the Jellyfin lifestyle,
but maybe you wanna watch a season of TV with your friends,
this is hard.
Either you have to come up with a VPN
or you have to come up with some sort of VPS router
that basically is just putting your Jellyfin server
on the internet.
Or holes in your firewall.
Yeah. Or a shared, maybe for your close friends Or it, you know, holes in your firewall. Yeah.
Or a shared, maybe for like your close friends or family,
you can have them on your tail net
or do like a, you know, tail net share thing,
but that gets difficult quickly.
And it's one more thing people have to use.
They can't just like pull up the Jellyfin client in a hotel.
You're gonna have to explain how to like do all the stuff
that is sometimes even tricky for us.
And maybe they wanna watch on their TV
and they can't install a VPN client.
Right.
So this is where we started thinking
about the concept of a disposable server, which
is an idea that I think all three of us
have played around with a little bit.
Brent, I know that you've kind of done the disposable server
thing on and off as different projects have come up.
Yeah, there's one that I created to just basically
create an on-demand VPN that I connect
to in various countries. So the last time I created to just basically create an on demand VPN that I can connect to in various countries.
So the last time I went to Germany, I think I spun one up on a VPS in Germany using NixOS
in fact, I think it was with a nice little NixOS configuration that I could just pop
up in whichever country I happen to be in.
So that's a nice little ephemeral VPN endpoint that I could create.
I think for that I used just a tail scale exit node,
but I don't need it to be running all the time.
So I could just boot it up when I need it
and then tear it down after that.
Yeah, I've definitely done the Jellyfin on a quick VPS,
synced some files over for friends,
especially because for a long time
I was running Jellyfin on like an older box
where with my devices for the most part,
I didn't need to be transcoding dynamically,
like my stuff worked,
and it could really support at least one transcode.
But if I was trying to watch with a friend
or really share it, it just wasn't gonna work.
But if I was specifically doing that,
especially when maybe some Star Trek
was coming out or something,
yeah, just sync a couple seasons over,
stand up at Jellyfin, share it with them,
and tear it down when we're done.
And that's almost a perfect solution. couple seasons over, stand up a jellyfin, share it with them, and share it down when we're done.
And that's almost a perfect solution.
But it has, I think, one major flaw.
And that is every time you did this, you had to upload the media.
Yeah.
So we were thinking, wouldn't it be pretty neat if you could have a disposable server,
like say a jellyfin instance, maybe to watch a season of a show with a friend, and once
you're done, you could totally destroy the server,
but the storage would be persistent.
So you could quickly start up this ready-to-go self-hosted app,
and you would have it auto-connect to remote storage.
And then you would just finish the final bits of setup,
and it'd be good to go.
But the trick is, is how do you do that?
And so we made an attempt.
We set off to solve this in our own ways.
Chris, myself, using, yeah, that's me, using a new Podman workflow that's still new to me.
I was taking advantage of Podman Desktop and solving this.
And then Wes took more of a Knicks workflow route to see how he could solve this.
So what we thought we would do is we'd present our setups to Brent
and he could score them on a few areas, like a point for cleverness of the setup, a point for easy for others
to replicate like those of you in the audience, a point of everything needed to work is included,
and then five points if it actually works, which Brent can be the determinant of.
So that's what we thought with the disposable server and ideally you could apply this to
all kinds of self- self hosted apps like I mentioned
audio bookshelf and others and if nothing else even if this isn't something you'd necessarily
want to do it's a really fun way to explore some of the really powerful technologies built
in the Linux.
One password dot com slash unplugged.
Take the first step to better security for your team by securing credentials and protecting
every application, even unmanaged shadow IT.
You can learn more at onepassword.com slash unplugged.
That's onepassword.com slash unplugged and it's all lowercase.
If you're a security or IT professional, you've got a mountain of assets to protect, devices,
identities and applications.
It's a lot.
And it can create a mountain of security risks, too.
Fortunately, you can conquer that mountain of security
risk with one password extended access management.
You know, over half of IT pros say
that securing SaaS apps is their biggest challenge.
Well, with the growing problem of SaaS sprawl and shadow IT,
it's not hard to see why, really.
So thankfully, Treleka by One Password
can discover and secure access to all your apps,
managed or not.
Traleka by One Password inventories every app
in use at your company.
Then, pre-populated app profiles assess the SaaS risk,
letting you manage, access, optimize spend,
and enforce security best practices
across every app your employees use.
Terleka by OnePassword provides a complete solution for SaaS access governance, and it's
just one of the ways extended access management helps teams strengthen compliance and security.
My friends and family have been using OnePassword for years.
I couldn't imagine their online life without it.
And now OnePassword's award-winning password manager that's trusted by millions of users
from IBM to Slack.
Now they're securing more than just passwords
with One Password Extended Access Management.
So take the first step to better security for your team
by securing credentials and protecting every application,
even unmanaged shadow IT.
You need to learn more
by going to onepassword.com slash unplugged.
That supports the show.
It's all lowercase.
It's onepassword.com slash unplugged. That supports the show, it's all lowercase, it's onepassword.com slash unplugged.
Well, Chris, as we heard in last episode,
you're now living the cloud native lifestyle.
So I'm curious if you took that route
to build your little disposable server.
You know I did, I'm embracing this.
And this actually gave me a vast,
complex, somewhat confusing world
of opportunity and options.
So I could start with a like universal UBI image of rail 10,
which they have like micro minimal and a base image.
That'd be pretty neat.
And I saw, I kind of started there cause I thought,
maybe I could build this on a long-term base
so then I wouldn't really have to mess with this for years.
And this would be great for this style of thing.
So I could have one for audio bookshelf,
one for Jellyfin, and you have ba-ba-ba-boom.
But things like Jellyfin need modern FFMPEG
amongst many other things.
So I could sit there and kind of ram it in to rail
But I scratched that idea because what I saw was there's a plethora of images based on fedora and often just straight-up
Upstream fedora 42 this is nice because you get in there you got DNF so you can actually install stuff
The rail images didn't have DNF so I meant super easy to get FFM peg and friends going
Easy to get our clone going which I'll talk about more and you are a fedora fan, but
not super great for getting jellyfin going. There's just a
lot of repositories and stuff you got to add not everything
was available for fedora 42 yet. So I realized I need to think
about this from more of a cloud native workflow standpoint and start with Jellyfin.
Why am I trying to ram Jellyfin into an image
when I could just start with the Jellyfin image
with everything working?
So I went and got the upstream Jellyfin image, which
is based on Debian 10 Bookworm.
No big deal.
In there, I'm app getting like a pro,
so I got everything I needed installed.
Had to add a couple of repos to get all the FFmpeg stuff,
but no bigs, everything's packaged for bookworm.
So what I ended up with is the Jellyfin container.
And then I abused that to include our clone and tailscale,
which I'm not utilizing at the moment, but I thought,
boy, I could probably definitely use this
with tailscale at some point.
So I installed it in there.
And then what I did is I set up RClone
to connect to our Nextcloud server that we just updated
and have a couple of video folders in my home folder
that have just the season of TV
I wanna watch with my friends.
And I have RClone connecting over web dev,
and you know RClone has a mode specifically for Nextcloud.
And that goes in there and that creates a mount
called slash mount slash horse.
And in there, when you go into the slash horse,
you see the TV directory and then you have all the Star Trek
season one for Star Trek, the original series, of course.
However, and maybe I'll lose some points for this.
I used Podman desktop to set this up,
which was really great.
It really let me explore this quick and iterate through ideas really fast.
So I like that about it.
And then what was that like?
It were you sort of hacking on the container file there and like rebuilding with pod man test.
Yeah. So and so what's really, you know, just one step easier is when you launch a container inside pod man desktop,
it immediately opens up a shell inside the container,
which, you know, no big deal, but it's handy.
It's really, so you can just immediately get to work
and you know, you can copy and paste
between your web browser
and the Podman desktop terminal session.
And so it's, it really feels like
a first-class terminal experience inside the container.
So you're just getting immediately to work
and you're building just like you would any Linux system
that you know in building out inside this container. And then're just getting immediately to work. And you're building just like you would any Linux system that you know, in building out inside this container.
And then Podman Desktop just gives you a beep export button
and it tires up the whole thing for you.
But if I could have one verbal feature request
for Podman Desktop, it would be to tweak
some of the container settings
after you've created the container.
And one of the things that I couldn't change after I created
it was including, including new devices and changing some of
like the environmental options.
Those are sort of baked in.
Once you've created the container, you have an option
at creation to add that stuff.
But like a dummy, I didn't think about the fact that this
isn't a complete Linux environment.
And so I needed to have few support for our clone, not only inside the container,
but I needed few support on the host OS. Well, this was a brand new bluefin setup that I just
did on the road last week. And so I didn't really have much loaded on this. So first I had to get
fuse working on the host system. And then I realized I couldn't go back and proactively modify these settings in the podman container.
So I couldn't pass through the Fuse device like I needed to, so that way the container environment could use Fuse.
So I exported the thing out and I did the right thing and I sent it over to Wes.
I said, Wes, take a look at this. Tell me what you think.
And unfortunately, I could not access the file.
Oh, really?
Yeah.
Ah, okay, all right, okay.
So I didn't get the fuse mount working properly,
but I think if I had set it up properly in the first place,
and passed that device through.
Well you should be able to add it at runtime,
I would think.
Well if I, also I think I could edit the YAML
that actually sets up the whole thing.
Oh yeah, and then rebuild it if you need to.
And I opened that up, but, God bless, yeah, and then rebuild it if you need to. And I open that up and...
God bless, but Podman Desktop, it's like using front page
for YAML, dude. There's like every option that needs
or could be defined is defined in this file.
And I open this thing up and I'm like...
Oh, maybe I'll just worry about this later.
And I closed it.
And I was like, I just...
This is too much scope creep for what I'm trying to do. So I think we have some extra work to do after the show because I want to see this now
I want to get it working. Yeah. Yeah it so the idea
I thought was pretty sound and that is I've created a my own version of a jellyfin container that I can throw on any
VPS and it would start
It would mount the next cloud file storage
It would start Jellyfin.
Then I would go to the URL, which I'd be so lazy, I wouldn't even register a domain for.
I would just raw the IP right into the browser.
And then I would just say, you know, scan the files, because it would be a different
set of files from time to time.
And I'd have a Jellyfin server.
And then we would watch the season one of Star Trek, the original series, like we should.
And then I would just the season one of Star Trek the original series like we should and then I would just blow that container away and
Next time I want to do it those files are still there
So I could spin up another one and I don't have to re-upload files or I can change them
You know at my own cadence at my own will and then the next time I spin up this disposable jellyfin server
I'm good to go the storage remains persistent and I could do the same thing with a selection of audio books and all of that.
So I loved the idea.
I just didn't get it quite across the finish line
because I was also learning
Podman Desktop at the same time.
Yeah, and the Fuse stuff does add a,
device sharing and having to pass through
the right stuff with containers can be
something that takes a few tweaks to get right.
So Judge Brent, I'd like to know what you think
of the cleverness of my setup.
That's one of the scoring here.
I'm going to give you a point for cleverness.
I think you decided on a path you went for it and I think it's quite a nice little solution
if you can get it working.
Can I argue the reproducibility for others?
You could do this on your own.
All you need is pod man desktop and then get the jellyfin container and then pop in there and apt install this stuff and configure
It for your own storage
So it's stuff you would just do on your own box, but you're doing it inside a container
There's a bit of configuration for others to be able to use this but it doesn't sound too daunting
So right and for others that would be watching jellyfin
They would just go to the URL and it would just work for them. So for like, burden on the viewer,
they don't have to install any kind of VPN.
It would work on a set-top box.
It would work on a phone.
It would work on the web browser,
because you're just running on a VPS for a small period of time.
And you're just handing us an IP or something like that?
OK, so everything to work is included, but it doesn't all work.
So everything that needs to work is included.
Well, is it?
Because you said, you know, Fuse is missing currently to make it all work.
Well, Fuse is installed.
When you set up the container, you have to pass through the Fuse device from your host.
That doesn't sound like everything.
Well, that's just how containers work. I can't solve for that.
Oh, fine.
OK, are you convincing me here?
I think you might be.
I don't know.
What do you think, Wes?
I think, is everything needed?
Feels like a stretch.
Is everything included to make it work?
Maybe a readme for how to launch the thing with the fuse
attached, but yeah, I think so, in principle.
So the readme is not included?
That's the problem?
Well, like, not yet.
I think all of this is going to on a Fuse device, right?
All these, because you have to have Fuse
to do the amount of the cloud storage.
If you're doing the, yeah, tricking Jellyfin
into thinking it's just more media.
So I think that's just a dependency.
So that means three points for me,
but I don't get the five points because it doesn't work.
Does any portion of it work?
Because I'm willing to give partial points.
Oh, yeah, I mean Jellyfin works.
Everything works except for the fuse mount.
Which is critical.
Yeah, yeah.
But I mean the same.
I'll give you two points on this one.
All right, so I get a total of five points.
Total of five, that's what you,
well, you know, you could improve here,
but for now.
Oh, I wish I coulda got, ah.
I'll take my five points.
Okay, Wes, tell us about your setup.
How did you solve this problem?
Well, it's pretty similar to yours, really.
It's just changing out the orchestration,
tying it together layer to use NixOS and NixOS modules.
Okay.
So, you know, to use it, you do need to be use NixOS and NixOS modules. Okay. So, you know, to use it you do need to be running NixOS.
It needs that as a base because, you know, it'd be packaged up sort of as like a flake
you could include and then have some module options that you could set.
For my local testing of this, I just had NixOS spin up a Min.io server so it could be an
S3 backend.
I liked what you were doing with web dev and Nextcloud,
that's clever, but I thought, you know,
S3 might be another way, you could just sort of have this
hanging around if you already have that kind of storage.
So first things first, it's NixOS,
so it's gonna be a lot of SystemD, right?
SystemD sort of plays the role of what Podman or Docker,
and especially Compose does, to like,
get all the things going, do it in the right order,
tie them together so they can talk to each other. So first things first, you know, systemd
starts up rclone which uses rclone mount to talk to Miniora or whatever S3 server
so you could just give it whatever parameters you want in the config to
pass through like what's your endpoint and you're gonna also have to pass
through credentials which right now I'm just they're just kind of hackily in
there. I'd probably migrate that to use a file that gets loaded so that it's a little more properly
done.
And so then that establishes a mounted file that then in a second systemd service that
depends on the first one starting, that just launches Jellyfin.
So it doesn't reuse the NixOS stuff as sort of a second instance of it.
It has its own separate Jellyfin systemd service that runs. And then it's sort of pointing
stuff so that like the config state dir and databases don't get kept. They're just stored
somewhere that'll get that'll just get wiped when you reboot the system. But it does get
access to the media folder mounted from our clone. Now the one thing I didn't get working
that I was really hoping to is a stretch goal. but it looked like it's configured in kind of a messy way in a SQLite database,
not in a config file, is I was hoping to have Jellyfin
pre-configured to just be able to mount the write.
Have the collection pre-configured.
So the library was already set to go
to the RClone mount point?
Yeah, exactly.
Oh, that'd be nice.
That'd be sweet.
Yeah, you could probably copy, I guess,
if you wanted to hard code in the pre-configured database
file.
That's a little hacky.
Or maybe you could have a post run systemd thing that
would use the API to like, hey, add this.
Because I know all the paths already, right?
I could hard code those in, just do that,
and then tell it to scan the library or something.
So those are stretch calls I did not actually get done,
but I tried a little bit.
Is that something you can define in the Jellyfin module
or something like that?
Not that I could see.
Jellyfin has a bunch of config to tell it
where to store stuff in its config-ter.
And maybe there's some sort of special initialization.
But in my searching, I didn't find it.
What I was eventually able to find
is there's a library.db in the of the state directory that wherever it is, by default
it's like.local slash share slash jellyfin, but you can set that with an envar command
line.
And then there's some tables.
If you looked in typed base items, there is a media browser controller entities collection
folder and physical location list.
And then that seems to have the right stuff.
So there's clearly a bunch of state.
I don't quite understand that you'd need to replicate stuffing it into a SQL
I database is totally doable.
Uh, but that's where maybe doing it via API call might be more practical.
Yeah, very well.
Maybe jellyfin also has some sort of startup parameters where you can
just pass them that would be nice.
Yeah.
Hmm.
Um, but I was able to get it working.
I used a sort of pinch flat alternative
that I found recently that I snuck in
as a sneaky pick later in the show.
Oh good.
So I was able to use that to just download
some YouTube videos into a collection format
that would work for Jellyfin specifically.
Yes.
And then I synced that into Min.io.
And then I was able to get my system going,
pointed at that local Min.io, so I didn't have to worry
about actually syncing these things over the network
or anything, but it would all just work
with whatever S3 provider that you set up.
Yeah, and then I watched some nature documentary,
I forget which one, about the largest thermonuclear bomb.
So it worked that far.
That's not a bad way to just set up your own private YouTube
and let a VPS just turn away at that stuff.
So definitely a clever setup.
I would say Brent gets a point for that, right?
Yeah.
I feel like maybe we should take your cleverness point away because his seems.
Whoa.
Wow.
Okay.
We'll both give you one, but I don't mean to be the bad guy here, but I do want to
argue the point for easy, easy for others to replicate.
It is in one sense, but it does depend on NixOS
as the base OS, which is tricky on a VPS.
Where mine you could do on any base OS.
I do think I could probably,
because I was just running ArcLone and Jellyfin,
I could convert that to containers built with Nix.
That could be a future option,
but I did not do that for this challenge.
Right, yeah, yeah, so that's the problem though,
because you'd almost be looking at a Nix takeover before you could really make this challenge. Right, yeah, yeah. So that's the problem though, because you'd almost be looking at a next takeover
before you could really make this home.
Now maybe you already have that,
but I do love the reproducibility of mine
in the sense that it's,
not reproducibility, but the, you know,
what am I looking for?
Portability, the portability.
Yeah, it runs anywhere Python runs.
Yeah.
That's nice.
That is, that's a very real trade-off for sure.
I don't know, I don't know. I'm willing to take one last point there. You have to be the decider though. Yeah, now you nice. That is that's very real trade-off for sure. I don't know. I don't know
I'm gonna take one less point right you have to be the decider though
Yeah, and they've seen both options for the fun of the game. I'll give them a zero on this one. Oh
Okay, so one point for Weston. No point there. Okay, everything needed included to make it work
I think you got this one, right? Yeah
I mean you have to specify like the s3 and point connection stuff and all that, but the it handles everything after that. So point
number two for you. Well I don't know I have an argument here the whole NixOS
requirement. Yeah that's not included I don't set that up for you. It's also right?
It's quite a hard one. I could probably build a VM image. Oh no! Okay, all right, so let me think about this.
Hmm, hmm, hmm, that is a good point. But Chris didn't install pod man for you. Oh, I guess you could make that argument that you would
Yeah, I'll keep going. That's like you believe a lot simpler
And I'll be it's arguably gonna be like included on some of these VPS is already
It's like one line with next I'll give you a half point
Okay, so we're getting granular one 1.5 points right now for Wes.
Now here's where you're going to make it up though, Wes,
because you get five points if it works.
So Wes, did it work?
I think it worked.
It worked, yes. I can pull it up here.
So that means 6.5 points.
I can verify.
There it is, right there, a full episode.
National Geographic, that's the Geo. So 6.5 points for I can verify there. Oh, yeah
So six points for Wes and Chris you got a big five points or was it for I thought okay fine I'll take five
I wonder what I you know, I'm trying to think back what I could have done differently
Maybe not have used our clone and did something else
I don't know what else I could have done house to solve the storage problem differently, maybe not have used our clone and did something else.
I don't know what else I could have done. How else to solve the storage problem.
You do want something, unless Jellyfin has a way to have remote storage natively.
You want something that will look like a normal.
Well, but you could maybe, I mean, you could do Samba or NFS.
Or what about solving it at the host?
You know, this would be a dependency in a case, but like, if I was just
thinking about the way I would do this, I might mount that fuse file system on the host.
And then not bother with permissions or pass through.
Yeah.
And then it's just like, you know, map it through to the container and like in slash
media inside the containers actually pointing at a mount on the host file system.
Doesn't mean you have more host container coupling and more orchestration concerns for
the host.
But it means simplicity to it.
But then it means I wouldn't be having to add fuse
to the Jellyfin container.
I'd only be going in there.
Oh, and our clone.
The only thing that I think
it'd still be worth adding is tail scale.
That is really handy,
because if you do have a tail net
and you just put Jellyfin on your tail net, that's-
Yeah, definitely.
Like in mesh network, VPN integration,
so you can just, wherever you stand it up,
it automatically connects to the storage.
There was a version of this too we discussed
where the application runs on the host,
but it's using network namespaces
with something like Netbird.
And then you just, if you were watching on a PC,
you could have a browser that when it launches,
connects to that namespace,
that has a similar namespace on your local machine
that also is on a net burden network or a
Tailnet and then the browser is just on that names network namespace and the jellyfin applications on that network namespace
and maybe they're both on a mesh VPN and
You could just do it that way like that per application network namespace layer
Which would be a really fun way to solve this but there's no way to solve that for the set-top box
It only work on the desktop, a Linux desktop, so.
But maybe there's another way to do it.
Let us know how you do it.
You can send us a boost or go to linuxunplug.com slash contact.
If you'd like to support the show,
this is independent media that we make for you.
You can support us directly by becoming a member
at linuxunplug.com slash membership.
You get the bootleg, which has
a whole bunch more content and I think makes the whole membership worth it. But if you like something
a little shorter still with all those editor drew touches, then you can get an ad free version of
the show. You can do the Jupiter party membership and support all the shows, including some new
stuff we're working on. That's a Jupiter dot party, or you can support just the show. Linux
unplugged com slash membership. You can also support each individual
production with a boost and fountain FM has some really
incredible things in the works. It makes it super easy to boost
and it's only going to get easier. Check that out at
fountain.fm. Then you also get all the extra podcasting 2.0
features as well. And of course, you can always sponsor if you
think maybe there's a product you have or a service that the
world's best Linux audience should know about, reach out to Chris at jupiterbroadcasting.com.
Well this week we were lucky enough to receive two space balls boosts from our dear hybrid sarcasm.
So the combination is one, two, three, four, five. Yes. That's amazing. I've got the same combination on my luggage.
First question here.
So Chris, why bluefin and not silver blue, aurora,
bazite, or something else?
I have one part of the answer.
He's a GNOME guy now.
So it couldn't be aurora.
Well, actually, that is kind of it.
I've kind of gone for a GNOME workflow on my laptops.
And I was on the go and this is the machine
I'm gonna be using for a bit
for the TUI challenge and whatnot.
And I kind of wanted to get into this workflow quick
and something that was just while I was on a trip,
I could swap over to and not spend a lot of time setting up.
And so Bluefin seemed like a good fit for that
when I was sort of, you know, just weighing my options there.
Yeah, I wonder maybe if one comparison that's useful
would be just bluefin versus silver blue.
Yeah, I felt like it was just sort of more ready to go.
You know, like they have,
they've taken some design choices there.
They've made some choices like brew.
Like there's just things in there
that just make it ready to go compared to like,
I felt like silver blue would be,
I'd spend the whole day setting up my laptop.
Maybe it's more of a little base
that you can start with and make something great,
but it's a little more lean than what you get.
Yeah, I don't know if this is where I stay for this.
What I was fantasizing about,
I don't know, maybe this was just me being a rookie,
was fantasizing about somehow remixing bluefin
to my own tastes. Yeah, I mean mean you can build your own image from there.
Well I...
You're probably using podman desktop.
That's what I was trying to figure out, but I never quite got there.
I haven't gotten there yet.
But that's where I was hoping to take it.
So I started with Bluefin thinking that I would from there take it in my own direction.
Crispin.
Fishfin?
No.
I like that.
And the second Spaceballs boost here.
Also, can we get an update on the race for the 2025 Boosties winner?
That's not possible. Nothing can do that.
Okay, request noted.
We're recording earlier this week, so with the timing, I have not yet pulled those.
But probably for the next episode, it could.
I'll tell you what, the news is going to be bad.
You know, it's just we've had a few changes
in the technology space.
Albie has transitioned from a custodial service
to Hub, which means some of the podcasting 2.0 apps
are harder to boost with.
And you know, there's been a lot of price action.
So I think it's going to be a lot less than we
were at this point last year.
But maybe a little competition will spur some.
Yeah, perhaps.
BHH32 came in with 2500 sats.
The heck?
I'm working on trying to make a video player as a TUI with real video, not ASCII videos.
I've got a very rough prototype working that prints the controls and the time elapsed.
The plan is to allow Jellyfin and YouTube streaming alongside local videos. I hope
to have enough done in time for the TUI challenge for you fellas. Yes that is so
great. We might just have a hope yet. I would say send the project along like
whichever state it's in. I'm sure our audience would love to give it a test. We
would love to give it a test and to help you develop this thing.
Yeah, if you need the bugs found, we got a guy.
Gene Bean boosts in with 5,468 cents.
I like you. You're a hot ticket.
Chris, I am stoked to hear what you are going to do with Bluefin and Image Mode.
I am getting just started. It is a whole world gene.
I realized I have a lot to learn.
Learning quick though.
Tread and water at least by the way.
Lazy.
It is a great two.
We tool.
Okay.
Yeah.
Lazy get, I've heard that is a good one.
We should check that out, right?
We should check that.
It is good.
I've tried it a little bit.
I like that gene being.
It's good to hear from him.
He's a good guy.
He's a real good guy.
No, he great guy.
Another good guy is Zach attack 6 real good guy. No, he's a great guy.
Another good guy is Zack Attack.
6,000 sats sent in this week.
Happy to hear you jumped Bluefin.
The biggest change for me was getting used to using Brew to install terminal apps and app containers.
You know, Brew for me isn't too bad just because it was my lifeline anytime I had to use Mac
OS.
Yeah, you are familiar with Brew.
Yeah.
You know how to re-link all your Python interpreters?
I'm sorry?
Do you need to lay down?
Zach continues here, the escape hatch of layering items for the Fedora repo is handy as well,
but it used to be used only when needed.
YouBlue handles the updating of distro box containers,
which is very slick.
I'm putting Aurora on my parent's system
with a weekly reboot knowing I don't have to worry
about it getting behind on updates
or something breaking in it.
Yeah.
That's a good test.
Yeah.
That's so nice.
I think when a distro gets to friends and family status,
that is a good test for it.
Handling the distro box containers, too, is nice,
because I imagine that is something
I'm going to be taking advantage of.
Thank you, Zach Attack.
That's a great field report.
Appreciate it.
Jordan Bravo's here with 5,555 stats.
?
I finally got a chance to set up Albie hub on my home server heck yes, buddy
Well done. So now he's boosting from pod verse which he's connected to his Albie hub. So this is a fully free software
Self-hosted stack I'll be up here Albie hub is free software pod verses free software. The lightning network is free software
He says by the way, it looks like the most recent pod verse release for Android was from mid 2024 has the project been abandoned
No
No, they are they are just they've decided to go the direction of a rewrite as you can imagine that takes all of their focus
But they are fired up about it. They are passionate about it. They've got a lot of great ideas and lessons learned
So I've definitely seen Mitch active in Matrix, helping folks and answering questions.
I'm very excited about the next release of Podverse.
Or when they get the rewrite done.
That's, woof, big.
Hey, do you remember Boost CLI?
We used to get a few folks sending boosts in via CLI.
I haven't seen that in a bit.
Oh, yeah.
Maybe we need to make sure there's
Boost CLI plus AlphiHub Combat.
Yeah, we need a Boost CLI sound to recognize the heroes.
Make it worth the while.
Mm hmm.
Mm hmm.
Thank you, Jordan.
Good to hear from you.
And our final boost today, Jor-El69 comes in with 15,000 sats.
Or as Drelblitz said, 150 hundreds sats.
Oh!
Thank you for helping us help you help us all.
I'm a bit late for the final self- self hosted episode, but I want to say that the self hosted podcast was my entry point to the Jupiter network and I will really miss it.
Many thanks to Alex and to y'all for reigniting my passion for Linux and owning my data.
Hey, oh yes, more of that. Love to hear it. Alex mentioned in 150 that he's gonna be getting a bus
and traveling the country, so now we're just trying
to talk him into coming up here and doing an episode with us.
Maybe some meetups.
Good road trip, right?
It'd be a good road trip.
All right, thank you everybody.
We are recording early this week,
so it's a humble boost summary, but we'll get to it.
It's not so, well, we had 21 streamers
and collectively they stacked 29,821 sats.
Thank you everybody who streams them sats
as you listen to the show.
And then when you combine that with our boosts,
we stacked, I think our lowest this year, 89,034 sats.
Lower expectation.
But we are recording a little early and we thought something we've never done before
since the beginning of taking the boost, I think, when we set the 2k sat limit, let's
do a boost sale.
So we're going to lower the cutoff that we read on the show to 1000 sats since the sat
price has gotten a little higher.
So if you've been wanting to boost in and get your message read on the show to 1,000 Sats, since the Sat price has gotten a little higher. So if you've been wanting to boost in and get your message
read on the show, for next episode,
the cutoff will be 1,000 Sats,
and we'll read 1,000 Sats and above
in our Boost segment.
So it's a good chance to get your message in on sale,
as they say.
Crazy Brent's Boost sale.
We can call it that. I'm fine with that.
I'd also like to know what people thought
of our Red Hat coverage.
Sometimes the boost coming in is a little bit
of a signal for us, but if you enjoy the coverage,
let us know.
If you didn't, also please let us know.
That way we can change things next time.
It is a lot of work we could just avoid.
Ha ha ha.
I suppose people don't like it, that's a great point.
But yes, that is always a feedback
that we very much consider
All right
We have not one but two picks for you before we get out of here and this first pick and I'm glad I'm really glad
Wes found a second pick because I have to disclose right off the top this first pick is
It's us only because it requires
Noah weather data which is only in the US.
But if you are in the US, you are going to thank me for this one.
This is called WS4KP.
And it's a web-based.
WS4KP.
It's a project, it's a web-based project that aims to bring back the feel of the 90s
with a weather forecast that has the look and feel of the 90s with a weather forecast
that has the look and feel of the weather channel at that time, but using modern data.
So it also has a kiosk mode so you can put it up on your tablets in your home.
If you ever have seen the weather channel, it looks exactly like the old weather channel.
And they have a live demo so you can go check it out, see what I'm talking about, and you're
going to fall in love with it. Chris, what are you talking about? What are you talking about? go check it out see what I'm talking about and you're gonna fall in love with it You're so Chris. What are you talking about? What do you what do you talk? Go check it out?
It's so ready have the weather channel now, bro. I really love the old weather channel and it's got a music mode
So I recommend when you check out the live demo turn on the music so you can get some of this great smooth jazz
it's got several settings you can configure and a
Full screen mode if you want to pull it in, as well as a tall and wide mode.
And it looks like if you had a fancy VCR that was also a weather app.
Yeah, you remember those?
Uh-huh.
From back in the day.
Or there were a few channels that just had this on one of the channels.
Right.
And it actually is clean and useful information, well displayed,
that I would love to figure out a way
to plumb into my EarthSats TV setup.
Yeah, visibility here at the studio, 10 miles.
That's right.
And the ceiling is unlimited.
So go check it out.
Again, it's a weird name.
It's WS4KP.
I know it sounds like a strange pick,
but you are going to love this so much.
And if you set it up somewhere in your home,
please take a picture and send it in.
I wanna see this.
You can also check out the demo at weatherstar.netbymatt.com.
And it is MIT licensed, so you could always fork it
and maybe set it up to use a weather API
from your local area.
I don't know, should be possible.
But not one, but two of them, Wes.
Two.
Yeah, okay.
Check out ytdl-sub.
It's a lightweight tool to automate downloading
and metadata generation with ytdlp.
So it's just kind of some more Python on top of ytdlp
to automate using that to go get all the data out of YouTube,
both metadata, subs, and the actual video files. And then it knows how to stuff them into the data out of YouTube both metadata subs and the actual video files
And then it knows how to stuff them into the various formats for popular stuff like plaques or jellyfin
This is great. If you don't want something like pinch flat
You just want a few songs or a couple of videos, but you do want them on a media center
It supports Cody's formatting jellyfin like you said
But also it supports a lot of the websites that YouTube DLP supports that are not just YouTube.
So like SoundCloud, Bandcamp, and others, and it knows how to get that metadata and
then format it so your TV media center can display it appropriately.
Yeah, and it did by, you know, at least in the examples I tried, it did a good job of
pulling in the right kind of metadata for me and worked nicely.
And it's got a lot of fancy files.
You have like a YAML file that you kind of define things.
By default, it's really well set up to do like shows by date
So it'll make like seasons that are you know for the year and then episodes within there from the channel
And you can specify like only keep the last two months or only keep up to 30 episodes
So if you don't want to download everything ever for a new channel, you just want to start following it. That's made pretty easy
Mmm, I you know the way I would practically use this is I would install this on my Jellyfin server,
and then I would just create a YouTube directory that I have added as a library to Jellyfin.
I would go to that YouTube directory, and I would just use this to pull down the stuff I need,
along with the videos that I would get.
Yeah, so I think you can like automate it in the background to run.
Oh, sure.
Or it's neat because it kind of does scale down nicely. I was able to copy their demo YAML,
tweak it a little bit to include what I wanted,
and then you just kind of run yt dl-sub,
and then the sub command, and then you point it
at the YAML file and it just starts going.
In Jellyfish it was easiest pointing it at that folder
and it recognized it immediately.
You can see this too, like you just want to back up
a single channel.
Right.
And you only do that once.
Yeah, you don't need a full server that's running
in the background and everything.
You could automate it, but yeah.
And it works, they've got an installation on a lot of stuff.
So they have a Linux server IO based Docker image.
They've also got one with the like VS code server running.
If you want to edit the YAML file inside of there from like a.
Man, that's easy mode right there.
Yeah, CPU and GPU pass through Windows unraid
Arm is supported you can also just install it with pip too because it's basically just Python using my TD LP
This is a great pick
YTDL sub will have a link in the show notes which are at Linux unplugged comm slash six seventeen and
Yes, it's packaged in NICS and there's a next OS module for it, and that's how I found very good Wes very good
And GPL V. I was just gonna to say, it is GPLV3, so, you know, mix and match as you like.
Well, I'm pleased to say we will be back at our regular live scheduled time,
so you can make it a Linux Tuesday on a Sunday.
You can join us Sunday at 12pm Pacific, 3pm Eastern over jblive.tv or jblive.fm.
See you next week. Same. Eastern over at JBlive.tv or JBlive.fm. See you next week.
Same bad time, same bad station.
And don't forget, since episode 600,
every episode of Linux Unplugged has a transcript,
which you can review and use or plug into an LLM
or whatever it is you might like.
And they're available in the podcasting 2.0 apps
and they're also available on our site.
And every episode is chaptered, so if there's something you did like or didn't like, you can
play it again or you can skip it again. Go right to the good stuff, skip to the picks,
you know? Yeah, why not? It's really the picks is what everybody wants. That's the thing. All right,
thank you so much for joining us on this week's episode of Your Unplugged Program. Contact info,
mumble, matrix info, all of that's at our website website and we hope to see you right back here next Tuesday as in Sunday! So
If we were going to wait one or two more weeks for the TUI challenge, I was really going to try to get an old school computer that is just a terminal going.
I love that idea.
I think that would have been a lot of fun.
And still something I might do eventually is just really something from like the IBM PS2 era
or a really old Mac that you can somehow
connect to the internet.
That's my dream for the TUI Challenge.
And if anyone out there has the opportunity to do this,
if you're the person out there
that has that machine in your closet, this is its moment.
Go wake it up and put it to work
and it'd be the perfect machine for the TUI challenge.
I can already see you're gonna be asking me
to copy your messages from the BBS over to Matrix.