Moving from Raspberry Pi 5 to DXP2800
Running a home server on a Raspberry Pi 5
I’ve been running a small home server on a Raspberry Pi 5 8GB since its release in 2023, mostly for Plex. Last year, I migrated it from an SD card to the official 256GB SSD using the HatDrive! Nano and official active cooler.
However, as the house accumulated more media, the Pi needed more storage. Higher capacity 2230/2242 format M.2 drives are harder to find and less competitive in price than the more common 2280 format. The Pi gained an old external SSD over USB - which worked, but looked ugly on its little shelf and the performance was a bottleneck. Being a software engineer, I also wanted to move from Plex being directly installed in Debian - and move it to a container, so I could more easily manage it and add other services, like storage and backup.
Choosing a new NAS - the UGREEN DXP2800
I wanted a device that supported two drive bays but wasn’t too large to be out of place on a shelf in a living room. I also wanted an x86 device, to give me more options for containers and software (such as TrueNAS in the future, if the stock OS didn’t meet my needs). I settled on the UGREEN DXP2800 - a two bay, Intel N100 powered NAS. I would have preferred Synology, due to brand recognition - but UGREEN’s offering was better priced and significantly better hardware. Through Amazon’s Spring Sale, the NAS cost me £270. The NAS also supports two M.2 NVMe drives, for storage or caching (to speed up read/write operations on the main drives) - so I paired it with a cheap 256GB Patriot 2280 drive for Docker app storage.
Setup was easy - the NAS has native apps on macOS and iOS. The M.2 drives are tool-less to install, fitted into the interior wall of the drive bay area. The drive bays are also tool-less for 3.5" drives. However, I’ve used a 2TB SATA SSD which I already had in the house - so four little included screws were needed. Resiliency is less of a concern for me (as I have good backups), but in the future I may move to two NAS specific drives.
Notes
- The name you setup when setting up the NAS becomes your literal username, for SSH, home folders, SMB shares and more. You can’t change it later without creating another account, and two accounts can’t have the same name in different cases - despite the fact the name is case-sensitive for login.
- Docker is available through UGREEN’s app store, and supports compose files (called “projects”) and individual containers. If using compose files, the app will pull the images - but for individual containers, the images must be pulled through the image browser first.
- UGREEN’s Docker doesn’t support
volume.subPathin long volume syntax, so volumes must be defined in short syntax:
# This doesn't work:
my-service:
# other config
volumes:
- type: volume
source: volume1
target: /data/downloads
volume:
subpath: downloads
# This does work:
my-service:
# other config
volumes:
- /volume1/downloads:/data/downloads
- Compose files can be placed in folders, and then imported as “projects” in the Docker app. The extension must be
.yamlrather than.yml- otherwise the app will duplicate it when importing. You can’t add environment variables in the app, but you can add a.envfile in the same folder as the compose file, and it will be picked up when deploying. If you change the compose file or.envfile, you must redeploy the project in the app for the changes to take effect. - UGREEN’s Docker app can optionally notify you of updates to images, or even automatically update them by redeploying.
- You can mount drives as either volumes (designed to be permanent storage for the NAS) or external mounts (like USB drives). Drives used as volumes are reformatted when setup, external mounts are used as-is. You must define at least one volume before you can use Docker or external mounts.
- You can put 2.5" drives in the drive bays, and the bays have screw holes for mounting them (and screws included). One of the retaining bolts for the 3.5" drive would block a 2.5" drive - but it is removable (and has a neat storage slot on the bay).
- The fan is very quiet, even under load. I’ve not used mechanical drives yet, to see what the impact is on noise.
- The NAS supports Wake-on-LAN, through both third-party WOL apps and the UGREEN app. However, I’ve not been able to reliably get the button to appear in the UGREEN app, so have stuck to using a third-party app (which also works for my other devices, like the PC).