Truth Trapper Keepers
Mar 22, 2026
The self-hosted app that turned Chris into a family Time Lord, then we iterate on a long-desired hardware hack.
Sponsored By:
- Jupiter Party Annual Membership: Put your support on automatic with our annual plan, and get one month of membership for free!
- Managed Nebula: Meet Managed Nebula from Defined Networking. A decentralized VPN built on the open-source Nebula platform that we love.
Links:
- 💥 Gets Sats Quick and Easy with Strike
- 📻 LINUX Unplugged on Fountain.FM
- LinuxFest Northwest 2026 - Back to Root — April 24-26, 2026 - Bellingham, Washington
- Keeper.sh — Keeper is a simple & open-source calendar syncing tool. It allows you to pull events from remotely hosted iCal or ICS links, and push them to one or many calendars so the time slots can align across them all.
- Keeper.sh: Calendar Syncing, V2 Release
- OneCal
- PiBox Overview - KubeSail Docs
- PiBox: A Modular Raspberry Pi Storage Server by Dan Pastusek — Kickstarter
- RPi CM4 based local storage server launches on Kickstarter
- KubeSail — So Long, and Thanks for All the Pods
- ipetkov/nixos-pibox — NixOS modules for supporting the hardware present on the PiBox
- raspberrypi/usbboot — Raspberry Pi USB device provisioning tool (RPIBOOT)
- cage-kiosk/cage — A Wayland kiosk. A kiosk runs a single, maximized application.
- systemd: BirthDate Field Added to JSON User Records — "Add birthDate field to JSON user records, allowing for standardized age-related logic within the userdb framework."
- Azuay Province - Wikipedia
- Pick: fq — fq is like jq but for binary formats, allowing you to tool, language, and decode complex binary data into human-readable structures.
- Pick: file-fridge — move files that aren't accessed as often to cold storage
- Pick: sigrok — Portable, cross-platform, Free/Libre/Open-Source signal analysis software suite: logic analyzers, scopes, multimeters, and more!
- Pick: PulseView — a Qt-based LA/scope/MSO GUI for sigrok
Transcript
WEBVTT
00:00:11.333 --> 00:00:15.953
Hello, friends, and welcome back to your weekly Linux talk show. My name is Chris.
00:00:16.113 --> 00:00:16.793
My name is Wes.
00:00:16.973 --> 00:00:17.693
And my name is Brent.
00:00:17.853 --> 00:00:21.993
Hello, gentlemen. Well, coming up on the show today, I'm going to talk about
00:00:21.993 --> 00:00:27.473
the self-hosted app that turned me into a family time lord and the perfect mobile
00:00:27.473 --> 00:00:29.873
server we found just a little too late.
00:00:29.993 --> 00:00:32.533
Then we're going to round it out with some boosts, some great picks,
00:00:32.673 --> 00:00:35.253
and I mean some great picks and a lot more.
00:00:35.413 --> 00:00:39.013
So before we get to all of that, let's do the right thing and say time-appropriate
00:00:39.013 --> 00:00:41.093
greetings to our virtual lug. Hello, Mumble Room.
00:00:41.093 --> 00:00:42.873
Hey, Chris, hey, Wes, and hello, Brent.
00:00:43.173 --> 00:00:43.553
Hello, hello.
00:00:43.673 --> 00:00:45.473
Hello, handsome mumble room.
00:00:45.633 --> 00:00:49.553
Yeah, and shout out to that packed, quiet listening, too. Nice to see you all up there.
00:00:50.153 --> 00:00:55.973
Whew! It's going to be a big show. And good morning to our friends over at Defined Networking.
00:00:56.113 --> 00:00:59.913
Go to defined.net slash unplugged and meet Managed Nebula.
00:01:00.233 --> 00:01:04.153
Defined Networking has Managed Nebula, and it's a decentralized VPN built on
00:01:04.153 --> 00:01:05.853
top of the open-source Nebula platform.
00:01:06.173 --> 00:01:11.873
We love it, and you're going to love it, too. And what really sells me is the long term story.
00:01:12.093 --> 00:01:15.733
This isn't like something to just shove away.
00:01:15.853 --> 00:01:18.093
Like you should think about when you're building infrastructure,
00:01:18.093 --> 00:01:21.373
what really it looks like for you long term.
00:01:21.653 --> 00:01:24.613
Critical infrastructure shaped by endless VC rounds, you know,
00:01:24.693 --> 00:01:28.873
or shifting priorities to try to make the free version of funnel to the enterprise
00:01:28.873 --> 00:01:33.553
version that come with big tech log in dependencies, all of these things.
00:01:33.553 --> 00:01:36.553
It's not what I want when I'm building my infrastructure.
00:01:36.813 --> 00:01:40.393
And Nebula gives you real control, operational, self-hosted lighthouse nodes
00:01:40.393 --> 00:01:42.153
that you can make sure your network is reliable.
00:01:42.993 --> 00:01:46.853
And they have the resilience that you can stack on top of, build on top of,
00:01:46.853 --> 00:01:50.733
and run for years. And you can get started with 100 hosts for free at Define Network.
00:01:50.853 --> 00:01:53.373
You can go to defined.net slash unplugged.
00:01:53.833 --> 00:01:59.633
Redefine your VPN experience today and support the show at defined.net slash unplugged.
00:02:01.094 --> 00:02:05.994
Big thank you to our king chief sponsor of the show over there.
00:02:06.394 --> 00:02:06.834
Yes.
00:02:07.154 --> 00:02:08.334
Really, really big thank you.
00:02:08.434 --> 00:02:09.814
Keeping our packets flowing.
00:02:10.434 --> 00:02:14.614
So I want to talk about becoming a Time Lord. So I'll back up a little bit.
00:02:14.874 --> 00:02:16.854
Some people may be able to relate to this problem.
00:02:18.194 --> 00:02:18.874
You hope.
00:02:19.054 --> 00:02:23.574
I have too many calendars. You know, like, first of all, I've got accounts that
00:02:23.574 --> 00:02:28.274
have been around for 200 years that have got calendars on them. And then I've got, like,
00:02:29.169 --> 00:02:31.629
My personal calendar that has
00:02:31.629 --> 00:02:35.349
also shared with some family members and my ex-wife for the kids stuff.
00:02:35.489 --> 00:02:39.129
And then I've got a calendar with my wife and then my wife has her calendar.
00:02:39.309 --> 00:02:41.969
And then I've got the JB calendar and then I've got the show calendars.
00:02:42.529 --> 00:02:43.329
Live streams.
00:02:43.949 --> 00:02:48.109
It's actually, it's something like 12 or something. I don't know. It's a lot of calendars.
00:02:48.269 --> 00:02:53.469
And what inevitably happens is I'm checking one or I've got a couple of configured
00:02:53.469 --> 00:02:57.109
on a device or somebody books on one calendar, but somebody also books on the
00:02:57.109 --> 00:02:58.969
other calendar and the two conflict.
00:02:59.449 --> 00:03:03.209
and then I've got to sort it out if I even notice it, which sometimes I don't.
00:03:03.549 --> 00:03:06.749
Well, that's the other part, right? It's like really most of your time is focused
00:03:06.749 --> 00:03:08.509
either on your family or- The shows.
00:03:08.669 --> 00:03:12.449
The shows, right, yeah. You don't really have a lot of sort of admin office
00:03:12.449 --> 00:03:13.789
time built into this schedule.
00:03:13.989 --> 00:03:18.529
And so over the years, I've tried like having great calendar apps where I like
00:03:18.529 --> 00:03:22.109
pull in all the feeds from the various calendars and then I have one big meta calendar.
00:03:22.869 --> 00:03:26.009
That's sort of how I've solved this for a long time, but it doesn't solve it
00:03:26.009 --> 00:03:27.509
for the people that are trying to book with me.
00:03:28.069 --> 00:03:30.809
Right. It gives you a single pane of glass, but they don't necessarily get the
00:03:30.809 --> 00:03:32.969
like, oh, nope, he's reserved here. Sorry. Yeah.
00:03:33.249 --> 00:03:37.029
So also when you're trying to build like automations or you're trying to just
00:03:37.029 --> 00:03:40.729
look at your calendar in one snapshot, like it's never really easy outside this
00:03:40.729 --> 00:03:42.169
one meta calendar app that I've set up.
00:03:42.409 --> 00:03:47.809
So this is where it's kind of a newer app. They just hit version 2.0. It's called Keeper.sh.
00:03:48.289 --> 00:03:51.749
It's a simple self-hostable open source calendar syncing tool.
00:03:51.809 --> 00:03:57.169
It allows you to pull events from all your different iCal or ICS feeds and then
00:03:57.169 --> 00:04:01.349
push them into one feed with all of the details.
00:04:02.009 --> 00:04:06.529
And the app also has a self-hosted version, or I mean a hosted version,
00:04:06.529 --> 00:04:07.889
if you would rather just use their service.
00:04:07.989 --> 00:04:12.029
I think it's pretty cheap, but they also offer multiple ways to host it, which I'll get into.
00:04:12.409 --> 00:04:17.049
And it's got a very simple UI. The app itself is not a calendar app.
00:04:17.449 --> 00:04:22.869
It's a feed management app, and it creates a source of truth for your calendars.
00:04:23.009 --> 00:04:26.089
So instead of having a calendar app where I have a ton of feeds now,
00:04:26.329 --> 00:04:32.729
I have all my calendar apps with one feed. and it all comes from Keeper.
00:04:33.755 --> 00:04:38.715
And Keeper makes it simple now because when somebody books on one of my different
00:04:38.715 --> 00:04:42.655
calendars, I can now identify the conflicts and catch them quickly.
00:04:42.995 --> 00:04:50.455
And I can also provide my family a synchronized feed so they don't book or mistake
00:04:50.455 --> 00:04:52.995
gaps of time or whatever because of its cross calendars.
00:04:53.115 --> 00:04:56.875
It gives my family one source of truth or you guys, people I work with,
00:04:56.955 --> 00:05:01.715
a single source of truth. And so it's so, so much a game changer when it comes
00:05:01.715 --> 00:05:03.855
to just planning and looking at availability.
00:05:04.295 --> 00:05:07.275
And then the other thing that if you want to push it even further that I really
00:05:07.275 --> 00:05:10.675
appreciate is it also provides a model context protocol server.
00:05:10.775 --> 00:05:15.215
So if you do the claw thing or whatever, it also gives you agentic access to
00:05:15.215 --> 00:05:17.375
your calendar. And that can be really powerful, too.
00:05:17.715 --> 00:05:20.755
Yeah, right. Then you have a chat interface to go make new appointments.
00:05:21.155 --> 00:05:24.215
And so the app itself is surprisingly straightforward. forward
00:05:24.215 --> 00:05:27.115
it keeps track of the different time slots and
00:05:27.115 --> 00:05:29.855
things like that uh it does i'd say there's the
00:05:29.855 --> 00:05:33.935
big limitation is it only supports iCal and ICS for
00:05:33.935 --> 00:05:37.655
ingest it does support a range of
00:05:37.655 --> 00:05:41.615
cloud accounts as well for publishing those so if you have a google calendar
00:05:41.615 --> 00:05:45.595
an outlook calendar or a bunch of other vendors you can have keeper published
00:05:45.595 --> 00:05:50.375
to those calendars which is not import yeah it just uses ICS or iCal for import
00:05:50.375 --> 00:05:54.415
um and they do have a hosting offering and if you read through their GitHub
00:05:54.415 --> 00:05:57.155
readme document. They have a discount code in there. It's already cheap.
00:05:57.315 --> 00:05:59.555
But with the discount code, just read their readme and you'll find it.
00:05:59.855 --> 00:06:00.975
But I wanted to self-host.
00:06:02.082 --> 00:06:05.982
There's seven different options for self-hosting. Did you see this?
00:06:06.602 --> 00:06:09.662
Not only is there like just a lot of containers involved in general,
00:06:09.802 --> 00:06:11.902
but then there's different versions of containers depending.
00:06:12.062 --> 00:06:13.622
It's almost like the next class situation.
00:06:13.982 --> 00:06:18.062
That's a good, that's a good equivalent. What is it about calendaring and all of this that requires?
00:06:19.182 --> 00:06:21.802
It is a hard problem to solve, I guess. I mean, here we are.
00:06:22.442 --> 00:06:26.122
So there are seven images available, but two of them are really sort of the
00:06:26.122 --> 00:06:28.882
all-in-one kind of everything's included in a single stack.
00:06:29.022 --> 00:06:34.242
Keeper standalone, everything you need. or if you want just redis and the database
00:06:34.242 --> 00:06:38.242
outside okay that's that's kind of nice actually so keep the stateful bits yourself
00:06:38.242 --> 00:06:40.582
this will run the rest of the app side okay yeah.
00:06:40.582 --> 00:06:43.742
They're trying to accommodate people's different various hosting setups.
00:06:43.742 --> 00:06:45.822
Or you can run the pieces yourself.
00:06:47.901 --> 00:06:50.021
And then, of course, there's the MCP server in there as well,
00:06:50.081 --> 00:06:50.921
if you want, which is optional.
00:06:51.421 --> 00:06:54.421
So instead of going the Docker route with an environment file,
00:06:54.441 --> 00:06:59.621
I decided to kind of go the one really big Nix config route.
00:06:59.741 --> 00:07:03.381
This was kind of a monster, I'll admit. It ended up being a 234-line Nix config,
00:07:03.521 --> 00:07:04.701
which is one of my biggest ever.
00:07:05.721 --> 00:07:09.741
But it generates system-to-unit files. It sets up a Podman network.
00:07:09.801 --> 00:07:14.621
It sets up the NGINX virtual host, the TLS certification, and it manages all
00:07:14.621 --> 00:07:18.621
of the secrets from one declarative source of truth. So that's really, really nice.
00:07:18.761 --> 00:07:21.941
And so instead of doing it with Docker Compose, I'm doing it with declarative
00:07:21.941 --> 00:07:26.821
Podman containers and then wiring it up through Nginx to do the reverse proxy
00:07:26.821 --> 00:07:28.421
to put it behind a nice pretty URL.
00:07:29.121 --> 00:07:32.461
And it's working really well because then it's a memorable URL.
00:07:32.461 --> 00:07:35.401
And so when I need to put the calendar feed into one of my calendar apps,
00:07:35.481 --> 00:07:37.401
it's really easy to boop, boop, boop, slash ICS, boom.
00:07:38.221 --> 00:07:44.541
That's been fantastic. So I kind of went totally a different direction than
00:07:44.541 --> 00:07:47.521
the project, but used it as kind of a base.
00:07:47.861 --> 00:07:53.321
And I guess since their coordination point was containers, that's all you needed,
00:07:53.341 --> 00:07:55.301
and set the right end vars or whatever else.
00:07:55.741 --> 00:08:01.261
Yeah. And so the other, I'd say, limitation to be aware of this app is the MCP
00:08:01.261 --> 00:08:02.581
server is also read-only.
00:08:03.281 --> 00:08:08.001
Oh. But the API is not just the MCP?
00:08:08.161 --> 00:08:11.241
I haven't tried that because, for my age, and I can just also write to all the
00:08:11.241 --> 00:08:13.861
source calendars. So I've solved it already.
00:08:14.261 --> 00:08:18.621
The agent already has that. I just prefer a single source of truth feed for the actual calendars.
00:08:19.181 --> 00:08:22.721
But man, is this not just one of the small things you can do that's totally
00:08:22.721 --> 00:08:25.521
transparent in a way to the family, but just makes things so much nicer.
00:08:25.741 --> 00:08:29.641
I do see that there are also some modules coming, applications coming through
00:08:29.641 --> 00:08:33.361
maybe, including CLI mobile and SSH.
00:08:34.689 --> 00:08:36.209
Even more ways to use it.
00:08:36.289 --> 00:08:38.209
Don't know what that means, but SSH into your calendar?
00:08:38.389 --> 00:08:38.509
Yeah.
00:08:38.509 --> 00:08:39.189
I don't know. I love it.
00:08:39.249 --> 00:08:41.429
And also CLI. It's great.
00:08:41.729 --> 00:08:42.889
I do have a usage question.
00:08:42.969 --> 00:08:43.309
Uh-huh, yeah.
00:08:43.449 --> 00:08:46.989
Like you need family approval more than just wife approval this time,
00:08:46.989 --> 00:08:49.129
and maybe you even need approval from the two of us.
00:08:50.389 --> 00:08:53.929
From their perspective, let's say they have right access.
00:08:54.149 --> 00:08:58.069
Let's say Wes has right access to the JB calendar, but you're providing him
00:08:58.069 --> 00:09:00.149
with Chris's everything calendar.
00:09:00.149 --> 00:09:04.809
Now, is he getting duplicate entries because you have the JB calendar on there
00:09:04.809 --> 00:09:09.149
and then he also has write access to it and all of a sudden you have double calendaring?
00:09:09.829 --> 00:09:15.629
That's a good question. So you can generate feeds for folks.
00:09:15.749 --> 00:09:17.649
I'm trying to see if I can. I don't know if I can pull it up here at the studio
00:09:17.649 --> 00:09:19.329
because I don't know if I have. Oh, I do.
00:09:20.069 --> 00:09:22.829
You can generate feeds that exclude certain calendars.
00:09:23.049 --> 00:09:24.609
Ah, that's brilliant.
00:09:24.869 --> 00:09:29.829
But I actually find it really for everyone else. I don't really need to have them make any changes.
00:09:30.149 --> 00:09:32.389
They're just writing to the calendar they've always written to.
00:09:32.589 --> 00:09:35.069
They just have access to that calendar, which is fine.
00:09:35.529 --> 00:09:37.669
They don't, like, you guys don't really need to know when my kid appointments
00:09:37.669 --> 00:09:39.569
are. You just need to know if I'm available.
00:09:39.689 --> 00:09:40.909
Uncle Brandon needs to know sometimes.
00:09:41.409 --> 00:09:46.489
Well, yeah. So it's sort of, you can slice and dice it depending on how you want to use it.
00:09:47.249 --> 00:09:47.969
Very nice.
00:09:48.169 --> 00:09:52.429
Yeah. And they just hit version 2.0. It's been out, I think they're just over,
00:09:52.449 --> 00:09:53.709
like, maybe six, seven months.
00:09:54.729 --> 00:09:58.889
I can't quite recall. But it's very active. The developer, this is a Sunday morning.
00:09:58.889 --> 00:10:04.369
and the developer just committed uh something two hours ago uh it's agpl 3.0
00:10:04.369 --> 00:10:09.789
and uh it's uh mostly written in typescript and then of course there's javascript
00:10:09.789 --> 00:10:13.349
in there and a little bit of shell and stuff but mostly a typescript application.
00:10:13.349 --> 00:10:17.929
It does sound like um the developer was scratching an itch that the same one
00:10:17.929 --> 00:10:22.489
you had which is kind of funny it's had this working on some project three calendars
00:10:22.489 --> 00:10:24.349
across business work and personal and.
00:10:25.376 --> 00:10:28.156
How did you find this, Chris? And why did you solve this problem?
00:10:28.216 --> 00:10:30.556
Because you've had this problem for a very long time. Why this week?
00:10:30.616 --> 00:10:38.876
I was trolling GitHub and Reddit and X for a solution and came across.
00:10:39.016 --> 00:10:39.316
Nice.
00:10:39.556 --> 00:10:43.956
Yeah. And then I tracked down the developer's post on our self-hosted for the new 2.0 release.
00:10:44.256 --> 00:10:46.696
I was like, oh, it just came out. What a great time to talk about it now that
00:10:46.696 --> 00:10:50.156
the new 2.0 is out. And he just released 2.914 an hour ago.
00:10:51.996 --> 00:10:53.396
I already got an update, boys.
00:10:53.496 --> 00:10:54.876
Wait another day to get 3.0.
00:10:54.956 --> 00:10:58.236
Yeah. Yeah, it's not a big update. It's just a calendar off fix, which I didn't run into.
00:10:58.416 --> 00:11:03.376
But really nice. I mean, a guy's clearly dedicated to it as well. So very cool to say.
00:11:03.376 --> 00:11:04.336
Let's not burn them out.
00:11:04.496 --> 00:11:08.736
I'm not sure. It's Rita. I'm not sure. R-I-D-A is the developer's first name or handle.
00:11:09.096 --> 00:11:13.316
But great project. And if you've had this problem, I definitely recommend it.
00:11:13.376 --> 00:11:16.296
And if you solve this another way that you think might be even better,
00:11:16.856 --> 00:11:22.996
please do post that or boost us or emails because totally willing to even solve
00:11:22.996 --> 00:11:26.196
this a better way. It's been good, but perhaps a better solution exists.
00:11:29.376 --> 00:11:32.216
No sponsor right here, so we'll just say thank you for being a member.
00:11:32.396 --> 00:11:36.076
And if you're not a member yet, you can go to linuxonplugged.com slash membership
00:11:36.076 --> 00:11:39.836
and become a core contributor or support the entire network at jupyter.party.
00:11:39.996 --> 00:11:43.256
You get access to the bootlegs, which is a lot more show. We're clocking in
00:11:43.256 --> 00:11:46.396
at 54 minutes, almost 55 minutes right now for the members.
00:11:46.756 --> 00:11:48.036
We have so much more to go.
00:11:48.216 --> 00:11:51.316
Yeah, yeah. And there's often really good conversations about making the main
00:11:51.316 --> 00:11:54.516
show, not intentionally it's just because it's a really organic discussion kind of.
00:11:54.516 --> 00:11:55.596
It's a hangout.
00:11:55.596 --> 00:11:58.296
Yeah it's a hangout and so we've gotten in some really good conversations there and
00:11:58.296 --> 00:12:02.456
it's additional content and uh you also uh you also could get an ad-free version
00:12:02.456 --> 00:12:05.376
so when we do get some advertising support if you don't like it there's an ad-free
00:12:05.376 --> 00:12:09.136
version of the feed as well of course the ads aren't in the bootleg either but
00:12:09.136 --> 00:12:12.656
uh either way we appreciate your support it's linuxunplugged.com membership
00:12:12.656 --> 00:12:17.616
or jupiter.party for the whole gosh darn thing.
00:12:22.216 --> 00:12:26.456
Well, you two have been up to a lot of things this week. I've only been getting
00:12:26.456 --> 00:12:28.396
little snapshots here and there.
00:12:28.536 --> 00:12:33.156
So last I heard, y'all have been working on not one, but I think two diesel heaters.
00:12:33.756 --> 00:12:37.276
And clearly, Brent must have the itch for embedded development.
00:12:37.276 --> 00:12:42.956
Because when I got to the studio today, he walks in and hands me a little black box with the radio.
00:12:43.976 --> 00:12:45.676
From CubeSail? What is this?
00:12:45.876 --> 00:12:50.116
Ah, there's quite a story behind that. There is quite a story.
00:12:50.296 --> 00:12:52.716
So how would you describe that, Wes? What would you?
00:12:52.856 --> 00:12:56.876
An industrial-looking sort of like professional metal case.
00:12:56.996 --> 00:13:00.456
It's got what I assume is a Wi-Fi antenna, good connectivity,
00:13:00.656 --> 00:13:02.816
USB-C for power, Ethernet, HDMI.
00:13:03.196 --> 00:13:03.676
Full HDMI.
00:13:04.036 --> 00:13:07.736
On the front, it says PiBox. And it's got that little screen.
00:13:07.776 --> 00:13:10.596
It's also got nice little indicators for disk CPU and power.
00:13:10.716 --> 00:13:14.036
It feels heavy, well-built. Is that a Noctua fan in there?
00:13:14.196 --> 00:13:15.496
Yes. Good eye, Wes.
00:13:15.576 --> 00:13:18.756
So, Wes, now you can just like kind of slide it like a clamshell.
00:13:18.916 --> 00:13:19.096
Oh.
00:13:19.096 --> 00:13:23.396
And it'll reveal itself. So maybe you can try to decipher what's in there.
00:13:23.556 --> 00:13:27.436
I'd say it's as thick as like two, three and a half inch disc stacked, but shorter.
00:13:28.016 --> 00:13:31.956
So it's not, it's not particularly thin. You would notice it in the bag,
00:13:32.056 --> 00:13:35.976
but it's not huge either. And then Wes is now, Wes has taken the, uh, the back off.
00:13:36.056 --> 00:13:38.976
Oh, okay. This looks like a Raspberry Pi.
00:13:39.296 --> 00:13:40.336
Yeah. It's a CM4.
00:13:40.696 --> 00:13:46.096
Oh yeah. The compute module four. And then with, um, a larger carrier board. Yeah.
00:13:46.516 --> 00:13:46.616
Yeah.
00:13:46.796 --> 00:13:49.376
Cube sale hat compatible GPIO. Ooh.
00:13:49.376 --> 00:13:53.776
Yeah, that carrier board is very interesting. That's why you get the larger HDMI.
00:13:54.496 --> 00:14:01.576
You get a few additional features in there, including a backplane for SATA disks.
00:14:02.496 --> 00:14:03.696
Yes, it's so great.
00:14:03.876 --> 00:14:04.356
Proper storage?
00:14:04.476 --> 00:14:06.336
Yes. In a tiny little box.
00:14:06.356 --> 00:14:10.416
It has room for two 2.5 SATA SSDs.
00:14:10.696 --> 00:14:11.716
Oh, and there's one in here.
00:14:11.796 --> 00:14:17.576
Yes. So we did scrounge up a precious 480 gig SSD and stuck it in there.
00:14:18.425 --> 00:14:23.505
Okay, CM4. So that's like Pi 4 era, but was the CM4 like slightly better?
00:14:23.985 --> 00:14:27.865
Yeah, yeah, yeah. Slightly better. Depending on the model you got at the time,
00:14:28.025 --> 00:14:33.205
it came with up to 8 gigs of RAM and 32 gigabytes of eMMC storage built in.
00:14:33.205 --> 00:14:35.125