I bought most of the pieces from Amazon, but a couple of them were not available (the Pimoroni Base Case, especially), so I had to get them elsewhere.

You can do this for a lot less (say, a Pi 4 with a spare SSD you may have lying around), but I prefer to buy the best I can afford at the time of a project and then not have to worry about upgrades for 5-10 years. I guess I'm lazy.

I know that I could get a NUC or other mini PC for that much money, but 66% of the cost was the storage, which I would still have had to purchase with another computer. I wanted as much storage as I could afford due to how many pictures my wife takes. And the NUC computers are larger and take more powers. Even with the base and base-case, the Pi is very small and quiet.

Because I'm using a custom base and case, I used the pointers from the manufacturer on assembly You might want to pay careful attention to the directions, it's pretty tricky to take apart and redo if you don't. Don't ask me how I know...

One very cool thing about this setup. The Pimoroni dual-nvme base has a ribbon cable to connect the board to the Pi. That ribbon cable blocks access to the micro-SD card. At first I thought of that as a negative, since I always intended to boot from the NVME. It turns out to be a huge plus. What you'll see in the configuration page is that I use Raspberry Pi Imager to initially configure the SD card, then put the Pi together. Then I VNC into the Pi and use the Raspbian version of the imager to image the NVME. Then I change a setting in the firmware and boot from the NVME. The cool thing about leaving the SD card in is that I can change the firmware back to boot from the SD card and do an image backup of the environment on the primary NVME to the second one, then either rsync that image file to an offsite location or just copy it to a thumb drive. Either way, I have an image backup that's easy to restore in addition to the other backup methods I'll document as I implement them.

Previous: Self-Hosting/0. Design Considerations
Next: 2. Raspberry Pi Initial Configuration