My first homelab server

Well, it technically was my second server; but it was the one that carried most of the weight at the beginning. It had (well, still has!) an Intel Core 2 Duo @ 2.66 MHz for a CPU, and a total of 4GB DDR2 RAM. I was able to fit an entire Nextcloud container + a MariaDB container for the database, a Photoview container, and it doubled as a NAS. True, I was mostly the only one using it, so there wasn't exactly much load on it either; but it works, and not too slow either.

(If you are only interested in the software setup, jump to The present.)

The past

But let's start at the beginning. Circa 2013, my family wanted to replace the computer, because it was starting to be really sluggish. My mom is a lifelong photographer and needed some more beef to be able to handle up-to-date editing software. So it was repurposed as the kids' computer (we were already adolescent.) Of course, it couldn't keep up with our needs either, so a couple years later we each got a laptop. As a software engineer uni student I was starting to be aware that Linux could breathe a second life into old machines, and I used Linux at uni for many of my classes, and I wasn't comfortable putting Linux on my all-rounder laptop (gaming on Linux wasn't how it is today), so I got to repurpose it as a Linux box. And it did indeed breathe a second life into it, and so it stayed around.

I started wetting my feet into selfhosting around late 2021~early 2022, with a Raspberry Pi 3B. I had a USB external drive hooked to the Pi, and that was my original network-attached storage system. I had long outgrown the need of a Linux box for uni assignments (I was also dual-booting Arch on my personal tower PC), but I still kept it around because I felt bad throwing out a computer that hadn't failed me yet. The Pi was a bit too janky as a NAS system to my tastes, so I decided to repurpose ol' trusty pal into a proper NAS computer, and leave the Pi for light services that didn't need storage.

Since I wanted to do it "properly" this time, I looked around to see what was the best option (like UnRAID or Proxmox ) to cram into a Core 2 Duo 4GB RAM system, but everything was too heavy. Then I came across Perfect Media Server , which at the time recommended building it on top of Debian or Ubuntu Server. The setup with mergerFS and SnapRAID was perfect for my budget needs (although I ended up never getting enough drives to feel it worthwile to set up SnapRAID.) The OS was installed on an old 500GB HDD that had been recovered from some other old family system (I have a knack of collecting spare PC parts from my circles, if it wasn't obvious already), and I used this as an excuse to upgrade a 4TB drive on my PC to an 8TB one, allowing me to reuse the 4TB disk for the NAS. I also shucked a 2TB external drive, and for a while, that was my setup (although the 2TB drive didn't stay long in there, I quickly took it out to repurpose it for something else.)

The present

You may be wondering, "what did YOU host on that machine, though?" or "what were you thinking!?" I mean, it sure as hell doesn't have ECC RAM, and no bit parity drive redundancy in case I lost data. But the thing is, I really didn't have that much of a need for those, at the beginning. And now is not really the time to be hunting for RAM either.

Nextcloud

The very first thing I set up on that thang was a Nextcloud server for my family and me (mostly me.) Of course, if you decide you also want to selfhost a Nextcloud instance on a Core 2 Duo, I can't recommend this to be your only storage solution. This is a Google Drive/Dropbox replacement, not a disk drive replacement.

I don't know where I copied my compose file from, but somehow I ended up with a MariaDB version that is above the recommended one, and I'm too scared to replace it now (praying that Nextcloud eventually just catches up with me.)

Photoview

I tried Photoprism but it felt a bit too heavy for this machine, and Immich didn't exist yet. I looked for alternatives (like Lychee ), and found this:

Photoview

Photoview is a simple and user-friendly Photo Gallery for self-hosted personal servers. It is made for photographers and aims to provide an easy and fast way to navigate directories, with thousands of high resolution photos.

I tried it, and it was snappy and fast enough, and was also very close on features to Photoprism. It has honestly been great for me, although my family was never keen to use it, so on my next server I will be moving to Immich instead.

Wishlists

Another thing I selfhosted in here was a wishlist website for my family. This was our agreed solution to avoiding unwanted gifts; just fill your list with enough options that you still won't be able to guess what you're getting for Christmas.

The first instance of this service was set up using christmas-community:

GitHub - Wingysam/Christmas-Community: Christmas lists for families

Christmas lists for families. Contribute to Wingysam/Christmas-Community development by creating an account on GitHub.

However, my family struggled to remember their passwords, and the Docker container on DockerHub was updated too infrequently and missed updates for long periods, so I looked for alternatives from time to time. I tried some: Poenskelisten , but I couldn't get it to work; and Wishthis , but it wouldn't fully convince me to do the switch. Then cmintey's Wishlist appeared, which I decided to keep an eye on, and at some point I started hosting an SSO platform ( Authentik ) for my family (to deal with the password problems, which didn't happen just with this service), and at some point Wishlist implemented OIDC login, so I finally made the switch.

GitHub - cmintey/wishlist: Wishlist is a self-hosted wishlist application that you can share with your friends and family. You no longer have to wonder what to get your family for the holidays, simply check their wishlist and claim any available item!

Wishlist is a self-hosted wishlist application that you can share with your friends and family. You no longer have to wonder what to get your family for the holidays, simply check their wishlist an...

PDF

I think at some point I also hosted an instance of StirlingPDF , but they've gone premium since so I'd recomend BentoPDF instead.

BentoPDF - Free Online PDF Tools

Free PDF tools that run in your browser. Merge, split, compress, convert - all free, no signup, privacy-first.

I remember I put it behind an Authentik login page (hosted elsewhere) because I was afraid the machine could not deal with serving a public audience.

Git forge

For a while I also had my own Gitea instance on here too! (Which I then migrated to Forgejo.) Alongside all the other services I've mentioned. And it was responsive as well.

Forgejo – Beyond coding. We forge.

Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job.

Links

I also wanted some way to selfhost a bookmarks manager, and I tried Wallabag first, then moved to LinkAce.

LinkAce - Your self-hosted bookmark archive. Free and open source.

LinkAce is a free and open source bookmark archive for long-term storage and organization of your favorite links.

Others

I have, of course, also hosted a Pihole container in it.

And it's also been a static files server with a lighttpd container, for sharing my custom Heaven Studio Remix levels (currently offline as I move everything to a new server.)

More recently, I have also hosted my PDS in it for a while, although I had already moved many of these services to a more capable refurbished mini PC by then.

The future

I'm replacing this trusty old pal with a newer collected machine, with an i7 (from 2013) and 16GB RAM (wouldn't you know it, this is actually the machine that originally replaced trusty old pal as the family computer!)

It's still perfectly working though (for a Core 2 Duo), so I'll be moving it to my parents' house and using it as a remote backup storage. I'll be very sad when it finally gives up on me, and hopefully that won't be because of lost data.