I've been using a QNAP NAS for a couple of years. For an appliance, it did a decent job. But after a long while, I realized that I actually don't want an appliance: I want a proper Linux server. My immediate thought was to set up a Raspberry Pi-based server. Then I remembered that I still have a ThinkPad T410 stashed in a storage box. I don't use it often nowadays, and I thought that it would be a perfect machine for the job. My particular model features an Intel i5-M540 processor, 8GB RAM and a 120GB SSD. Not exactly a beast, but a perfectly adequate setup for a server. Rummaging through storage boxes, I found an Ultrabay module that takes a 2.5-inch hard disk or SSD. So I decided to splurge on a 2TB SSD, move all my data from the NAS to it, and then add the SSD to the ThinkPad via the Ultrabay module. When buying an SSD (I opted for a Crucial 2TB BX500 model), I also ordered an inexpensive Inateck disk enclosure. I needed the latter to connect the SSD to the USB port of the NAS, so I could transfer data.
In the same storage box, I discovered an ExpressCard with two USB 3.0 ports, which I promptly plugged into the ThinkPad. Since I use my ThinkPad-based server to back up storage cards from my camera and back up the data to an external USB hard disk, the two USB 3.0 ports proved to be rather useful.
My QNAP NAS had rsync installed courtesy of Entware, so transferring the data to the SSD was a matter of connecting the SSD to the NAS using the SATA-to-USB adapter and running an rsync command.
While the rsync was duly transferring data from the NAS to the SSD, I turned my attention to the ThinkPad T410. It already had a fresh installation of Linux Mint 20 on it, so I decided to go with it (although I might try something like MicroOS at some point). There wasn't much to do, really, as Linux Mint comes with pretty much everything I needed. I only had to install the OpenSSH and Samba servers. Once the OpenSSH was server up and running, I could access my ThinkPad via SSH.
I also had to tweak a couple of system settings. First, I had to adjust the power settings to turn the screen off when the lid is closed instead of sending the machine to sleep. Even though I configured the Nemo file manager to mount external disks automatically, it wouldn't mount them on boot. Fortunately, this issue was easy to fix. I simply had to change the mount options using the Disks tool as shown below.
Finally, I had to enable auto login to prevent the machine from going straight to sleep when the lid is closed. Auto login also ensures that the system mounts all the storage devices.
Of course, I could have saved myself the trouble of configuring the settings if I had opted for a proper server system installation. But ThinkPad T410 is still a pretty capable machine, so I wanted to use it as a regular laptop for simple tasks like research and note-taking.
Using the Inateck hard disk enclosure, I repurposed one of the 3TB hard disks from my QNAP NAS for local backup. A simple rsync script takes care of backing up data on the ThinkPad to the external disk. In addition to that, rclone takes care of an offsite backup by pushing data to the Backblaze B2 cloud storage service.
To make my ThinkPad-based NAS more like a server, I installed the Cockpit software that allows me to monitor the server's vitals and perform basic maintenance tasks. Finally, to access the server from the outside world, I opted for Tailscale instead of a regular VPN setup.
And that's pretty much it!
Although the final result might not be as elegant or efficient as a dedicated NAS appliance, it does have its redeeming qualities: