Guide: Rocket Pool running on Synology
Why run Rocket Pool on Synology?
The Rocket Pool team has done an incredible job of bundling everything you need to run an Ethereum staking node at home. They've also put significant effort to support smaller hardware configurations including Raspberry Pi with a 1TB SSD drive. One of the more popular configurations involve the Intel NUC devices with 2TB SSD drive. Each of these base configurations are great for running home staking nodes that require modest maintenance and upkeep and are very cost effective.
So, why consider Synology? Here are a few benefits of running on a Synology NAS. Full disclosure, I'm a Synology fan but I assume many or all of these benefits would apply to any other NAS solution but YMMV. I'm hopeful that this guide will spur some dialog and maybe other NAS fans will contribute and help us bring more options to the table for home stakers.
Protection from hard drive failure
With a NAS configuration of RAID5 or better, you have the comfort of knowing that your node can withstand a single-drive failure without losing any data or even going offline. If a hard drive fails, you should receive notifications (assuming you have those set up) and the NAS will "fill in" for the failed drive while you acquire a new drive. As soon as you have a new drive, you should be able to hot-swap the failed drive by pulling the hard drive tray out, replace the drive, and just sliding the tray back in. The Synology NAS will re-build the volume using the new hard drive. This may take some time (1-3 days typically depending on volume size) but the system will keep running the entire time. Your node will continue to validate and earn ETH throughout this failed hard drive scenario.
Significant storage capacity
A typical NAS configuration will typically have 4TB+ of usable storage. Today, the general guidance is to have 2TB of storage available for consensus client blockchain storage. There are upcoming Ethereum improvements that will slow the growth of (or possibly reduce) the required storage, but having sufficient storage available reduces the maintenance burden for the node operator. If you have 1 TB (and eventually 2TB), you may have to periodically run the prune operations to optimize storage. With larger storage available, pruning is not required, so just one less thing for a node operator to think about.
Large install base with technical skill set alignment
There are thousands of Synology (and other) NAS devices installed around the world! Typical NAS owners have the basic technical skills that garner the initial interest in owning and operating such a platform. These skills will often be more than sufficient, along with excellent documentation from the Rocket Pool team and outstanding Discord support, to reliably operate a Rocket Pool node.
The Synology platform has been around for over 20 years and there is a wide variety of devices (rackmount, desktop, flash, etc). I will provide some visibility to my configuration only as a reference and a "known good" config. I hope to get some feedback and dialog going and we can continue to refine and publish other configurations as well.
- Synology DS1621+
- AMD Ryzen V1500B
- 2.2 Ghz
- 4 cpu cores
- 32 GB RAM
- 3 x 12TB NAS hard drives
- Seagate ST12000VN0008-2PH103
- 2 x 800GB M.2 NVMe SSD caches
- Synology SNV3400-800G
- 4 x 1Gb ethernet ports
- I have these "bonded" together (w/LACP) but that is not required for Rocket Pool node operations
- Google Fiber with 2Gb download and 1Gb upload speeds.
- I do not believe you need this much bandwidth, but I'd defer to the Rocket Pool documentation for recommendations on bandwidth required.
The most important element of this configuration is the cache devices. The 2 M.2 NVMe SSD caches really provide the I/O performance that is required for blockchain operations. Typically, a RAID5 array would not perform input/output operations (I/Os) fast enough. But, with the SSD caches sitting "in front of" the RAID5 array, you get the best of both worlds. You get the speed of SSD but also get the reliability and durability of the RAID5 array.
I will work on getting some time to document and walk through the installation process. I installed Docker based on Synology Package Manager. From there, we can use the docker-based install from Rocket Pool Default Docker-Based Configuration
The one area where I had to invest some time in workarounds was with respect to the Prometheus/Grafana configuration. I essentially found a Synology-specific Prometheus and Grafana docker implementation and followed those instructions. Then I imported the Rocket Pool configuration page and then modified from there. I'll pull together my notes and there are still some things that don't quite work right so maybe we can figure them out together.