BIT-101
Bill Gates touched my MacBook Pro
In my last post (I have a NAS!) I talked about the NAS I created with TrueNAS. This has been fantastic. I wanted to write more because:
A. I wrote too much the first time but still didn’t cover everything.
B. I’ve done more stuff with it.
In the first post I talked about the initial setup, replacing one of the drives, the apps I installed, monitoring, and syncing to devices.
A couple more things about all that, and things I’ve done since then.
I was still having occasional glitches with SyncThing. Not so much conflicts, but not connecting right, not updating, getting into weird states, etc. The thing that finally fixed it all for me was realizing that Android’s file system is not the same as what’s on the NAS or my other computers. While I kept ignoring dynamic manifest files like .sdr
for KOReader, what really heped was disabling syncing of file permissions, and making sure that it was also ignoring extended attributes. I went through days of things not syncing right. But once I got rid of permission syncing, it started working perfectly and I don’t think I’ve had a glitch or conflict in weeks.
One added, unexpected, and kind of magical thing that happened was when I added a music lyrics fetching plugin to Jellyfin. It took a bit, but it scanned my whole library and downloaded lyrics for the vast majority of files that actually have lyrics (non-instrumental songs). That was nice. But magically, those lyrics synced to my two portable digital audio players, putting those lyrics files on those devices too. And suddenly I have full lyrics support for most of my music library everywhere I use it. This is amazing. A while back I wanted to get some lyrics, but doing it by hand… impossible. I paid for a MusixMatch subscription for a bit, but didn’t really like it all that much. Now it’s just there, and backed up forever.
There’s the “3-2-1” backup rule: 3 copies of your data, 2 different kinds of media, 1 off site. I have an offsite sync to pCloud. But what concerned me with that was that if I accidentally deleted or corrupted a bunch of files, they’s sync to pCloud and delete/corrupt there too. There’s some level of history there, 30 days or something, but it didn’t feel great. I wanted a true incremental backup.
My old “home lab” HP slim device was sitting unused. It only has space for a 2.5 inch drive though. So I got another 3.5 inch 4 TB drive and put that into the NAS. Did the whole disconnect, replace, resilver thing I did earlier. Worked perfectly. Now that has three 3.5 inch 4 TB drives and I put the 2.5 inch I removed from that and put it in the other HP.
I installed TrueNAS on that too! But very minimal. The only app I put on there was Tailscale, but I’ll probably never use that there anyway. Then I set up restic on my main NAS using the new backup NAS as a target. This is great. It does an incremental backup every day. Once a week it does a prune, keeping 7 daily backups, 5 weekly, 12 monthly and some number of yearly backups.
A cool thing about restic is that you can just mount your backup on any computer that has restic installed. I can do that from the NAS itself or even my laptop. Then I can browse any saved snapshot as if it were a large filesystem. I can mount it from my laptop, go into a snapshot I did months ago and grab a file that has since been deleted. That’s super useful. Of course, there’s full restore capabilities as well.
I mentioned that I now had three 3.5 inch drives in the NAS. But that machine only has space for two 3.5s and one 2.5. After much mental engineering, I got a hard drive bracket that I put on one of the internal drives that elevates outside of the case, giving me a place to install another 3.5 inch drive. Of course this means I can’t put the cover on the case. So be it.
Similarly, I discovered when I put the 2.5 inch drive in the backup box, it’s a thick drive, and the 2.5 inch mount there doesn’t support that. I did a bit of surgery and got it in there, but now that cover doesn’t fit either!
Even with the covers off, as I was monitoring the drives, they were getting fairly warm. They were getting into the high 40s C. Not sure if any made it to 50 C, but some hit 49 for sure. That’s kind of borderline from what I’ve read. 60 C is heading into the danger zone. 50 … probably OK, but not great. This was on both machines. Doesn’t help that we’re in the middle of a two-month heat wave here in the Boston area.
Since these are custom slim form factor cases, there’s no space to mount fans, and no extra headers to power them anyway. So I picked up a couple of USB powered fans. There’s plenty of USB ports! Jockeyed these into rough position so they are blowing on the drives and voila! They all stay in the mid 30s C mostly. Even lower on a cool night. That’s with the fans on low. An extended drive activity session might get them up to the low 40s. I’ll take it.
Am I proud of this mess of computer parts held together with duct tape and paperclips? Damn right I am! But more on that later.
One more thing I wanted to do was try to cut back my YouTube doom scrolling. There’s plenty of stuff I want to watch. Some channels I subscribe to, various things I want to learn about, etc. But all too often I’ll go there looking for one thing and an hour later I’ve watched twenty stupid videos about god-knows-what. I don’t even remember, but some of them had to do with cute animals.
I set up another video library in Jellyfin. This is simply a folder on the NAS that it will scan for videos. Then I installed MeTube on the NAS. It’s one of the TrueNAS supported apps. Then I installed a MeTube extension in my browser. Now I can right click on a video thumbnail and there’s a context manu item, “Send to MeTube”. Or if I’m on a video page I can just click the plugin icon and it does the same thing. A few minutes later, the video appears in my Jellyfin library.
This is my Jellyfin setup for media. I’m pretty happy with the styling I did here. :)
And this is what’s in there right now:
Generally I try not to watch anything ON YouTube now. I’ll scroll through and send what looks interesting to MeTube and then I have a nice playlist to go through later. For the most part I delete the videos after I watch them unless it’s something I’d really want to keep around.
I also have a ton of photos going decades back on the NAS. I’ve previously used Immich which is a supported app on TrueNAS, but I could not get it to work, and to be honest, while it’s great, it’s pretty heavy, with AI image recognition and categorization, etc. I just wanted to have my pictures available. Jellyfin supports photos too, so there they are. I put a ton of work into cleaning up duplicates and stuff I didn’t need to save, and arranging them all by year and month. They’re in the best shape they’ve ever been in at this point, and all backed up in multiple spots. This is good.
Maybe someday I’ll give Immich another shot. Would be nice to have some search capabilities.
As I said in the beginning, this whole project was a learning experience. I didn’t want to invest in an expensive prebuilt Synology or something, not knowing if that’s what I needed or wanted. Boy, have I learned a lot!
I’ve put enough time and energy (and not a tiny amount of money, though not all that bad) into this, so I’m going to run it as is for a while. But I think next year some time I’ll definitely be investing in a NAS case, maybe the Fractal Design Node 804
And a low-power/efficient ITX motherboard/CPU.
Happy to hear any suggestions.
Comments? Best way to shout at me is on Mastodon