It was almost like a tale from The Lord of the Rings, except instead of one ring there were 31,000 family photos and more than 3,000 videos scattered across hard drives, old PCs, phones, iPads and whatever other piece of technology had survived long enough to store a file.
For years I knew they were there.
Some on this drive. Some on that laptop. Some in the cloud. Some probably duplicated five times. Some living on hardware old enough that every time I plugged it in I expected it to make one final mechanical noise and die.
These weren’t disposable files either. They were birthdays, holidays, children growing up, random Tuesday evenings, old homes, stupid videos nobody else would care about and moments I absolutely did not want to lose.
And that was the problem.
I didn’t actually know where everything was.
I just knew that somewhere in the house existed thirty-something thousand little pieces of our family history, spread across enough devices to keep a mildly obsessive man awake at night.
For years, this bothered me.
Eventually I decided there was only one sensible solution.
I needed to build Mordor.
It paid off.
Buried in all that digital archaeology I found things I had completely forgotten existed.
One was a photo of a Red Dead Redemption bug where a horse carriage was somehow floating in the sky. Not a screenshot, obviously. This was taken from the television with a Samsung flip-phone camera, because apparently that was a perfectly acceptable capture workflow at the time.
Today you could generate something like that with AI in ten seconds.
But this was real.
Real bug. Real TV. Real terrible phone camera.
Proper shit.
Then there was the mysterious bench-press.avi.
No context.
No thumbnail.
Just a filename and a timestamp:
Wednesday, 6 March 2013 at 15:04.
At that point I was no longer organizing files.
I was opening time capsules.
___________________________________
< There's no place like 127.0.0.1 >
-----------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
Mine was purchased in 2018.
Intel NUC8i5BEK.
Core i5.
8 GB of RAM.
250 GB Samsung NVMe.
Nothing particularly exciting.
Which is exactly why, several years later, I decided it should obviously become a server responsible for family photos, music, backups, web applications and apparently a significant part of my personal digital infrastructure.
This seemed reasonable.
Step one: install Debian and immediately become a systems administrator I am a web developer. This is important information because web developers have a dangerous habit. We learn just enough Linux to become confident. Then something works. Then we mistake that for competence.
So Debian went onto the NUC.
Docker followed.
Then SSH.
Then Immich.
Then Navidrome.
At some point I realized that the tiny black box sitting on the floor was no longer a computer.
It had employees.
And responsibilities.
The family photo problem
This was the part that actually mattered.
Years of family photos and videos were spread around old drives, laptops, phones and cloud services.
Some duplicated.
Some probably duplicated five times.
Some living on a hard drive old enough to remember Nokia being cool.
So I started consolidating everything.
Immich became the new home.
One external 1 TB SSD became the main data drive.
Then there was the old 1 TB Western Digital drive.
Naturally I called it Grandpa.
Because at this point naming hard drives was apparently normal behaviour.
Grandpa was eventually reformatted to ext4, mounted as proper Linux storage and turned into offline backup duty.
Which is probably the most productive retirement any Grandpa has ever had.
26,502 files later
After duplicate hunting and sorting, I ended up with roughly 26,502 unique media files from the old archive alone.
About 137 GB worth.
There were nearly 50,000 files in the original source collection.
And this was the moment where the project stopped feeling like nerd entertainment.
These were family photos.
Actual years of our life.
Children growing up.
Trips.
Christmases.
Random phone videos.
Things that would genuinely hurt to lose.
Suddenly rsync became emotionally important.
That is not a sentence I expected to write.
rsync: the least sexy program I now deeply respect
Eventually I had the archive on the main storage drive and copied the whole thing onto Grandpa as an offline backup.
Hundreds of gigabytes.
Terminal output scrolling for hours.
No shiny progress animation.
No reassuring cloud icon.
Just Linux quietly moving the history of my family from one disk to another.
Beautiful.
And mildly terrifying.
Because when you see 300 GB being copied and realize you are personally responsible for both sides of the transfer, you suddenly develop a very respectful relationship with storage.
Then I discovered SSH
This is where things became stupidly satisfying.
The NUC lives at home.
My work machine runs Debian.
My MacBook comes home with me.
And now I can sit on the sofa, open Terminal and SSH into another machine like some discount movie hacker.
No GUI.
No remote desktop.
Just:
ssh roope@192.168.1.21
And suddenly I am inside the little box.
There is something deeply satisfying about that.
Probably because computers spent thirty years teaching normal people that everything needs buttons, icons and animated menus.
Then Linux reminds you that sometimes you can just type one line and enter another computer.
Witchcraft.
The tiny datacenter
The NUC now runs things that I actually use.
Immich for photos and videos.
Navidrome for music.
Docker containers quietly doing their jobs.
Backups.
Remote access.
Web services.
And because apparently this disease progresses, eventually things started appearing behind my own domains too.
The old NUC is now more useful than it ever was when it was new.
That might be my favourite part.
Most consumer technology gets replaced because something newer appears.
This thing went in the opposite direction.
It aged into a career.
Cloud is convenient. Ownership feels better. I still use cloud services. I am not moving into a bunker.
But there is something genuinely satisfying about knowing that the main copy of important family media sits on hardware I physically own.
No subscription tier decides how much space I have.
No company redesigns the app and removes the feature I liked.
No account issue suddenly makes my own photos inaccessible.
The files are here. In my house. On my disks. And another copy is sleeping offline on Grandpa. That feels good. How did we get here?
This started as:
“Maybe I could use that old NUC for photos.”
It became:
Debian.
Docker.
Immich.
Navidrome.
SSH.
rsync.
Ext4.
Backups.
Domains. iltapaska.com @ Cloudflare with a tunnel and Service Workers. I even got an email for all this: roope@iltapaska.com
Web services.
A private photo cloud.
A music server.
And a small black box in the corner of my house that is now apparently employed full-time.
I am still not entirely sure when this happened.
But the tiny datacenter is staying.
And Grandpa finally has a purpose.
