简体中文 / [English]


AIO Ep13. Migrating to Unraid System

 

This article is currently an experimental machine translation and may contain errors. If anything is unclear, please refer to the original Chinese version. I am continuously working to improve the translation.

Previously, my All-in-One HomeLab was running on ESXi as the base system, hosting multiple virtual machines. Inside the hacked Synology (DSM), I also ran several Docker containers.

However, after a year of use, I encountered several issues:

  1. The RAID1 array from the Synology, mounted to ESXi via NFS, hit a network speed bottleneck, causing high iowait and poor performance; SSD cache had limited effect.
  2. ESXi has relatively poor support for consumer-grade hardware.
  3. ESXi’s resource allocation is inflexible—each VM must have memory pre-allocated.
  4. Upgrading the hacked Synology is complicated and potentially unstable—every update feels like a “painful adventure.”

After a year of using Synology DSM, I now understand what a mature NAS system should offer. I’ve decided to build my own NAS—more open, easier to maintain, feature-rich, and highly customizable.

Of course, a self-built NAS won’t match the usability or broad compatibility of Synology, but my goal is to create something even more open and customizable than DSM. This post documents my journey, for anyone else interested in building their own tailored NAS.

Current setup overviewCurrent setup overview

Base System: unRAID

Options for base operating systems are somewhat limited—ESXi, Proxmox VE (PVE), unRAID, FreeNAS, etc.

I ultimately chose unRAID for its flexibility.

unRAID has excellent support for consumer hardware, is sold separately from hardware (no vendor lock-in), natively supports both Docker and VMs, and allows flexible storage expansion within a parity-protected array (perfect for a growing HomeLab). It also lets you configure SSD caching policies per shared folder—NVMe SSDs can deliver excellent I/O performance.

unRAID Plugins

unRAID supports various plugins to extend functionality.

  • Dynamix System Info / Dynamix System Temp
    Display detailed system information and temperatures.

  • Fix Common Problems
    Automatically detect and fix common system issues.

  • NerdPack GUI + User Scripts
    Install third-party packages and run custom scripts.

  • Recycle Bin
    Move deleted files to a recycle bin instead of permanent deletion.

Updated on 2022.09.13 (added two new plugins, effectiveness to be tested):

Service Deployment

unRAID natively supports Docker, so all my previous Synology Docker containers can be easily migrated.

The key is finding equivalents to Synology’s built-in packages.

  • Photo Management - Photoprism
    Categorization features feel even stronger than Synology Photos, though the mobile app experience may not be as polished.
    Since I don’t want to expose the service to the public internet, using it via mobile requires connecting through a VPN—which is a bit of a hassle. For now, I’m sticking with Google Photos on mobile.

  • File Backup & Versioning - Syncthing
    Highly recommended—blows Synology Drive out of the water. The web UI shows sync status and file history, supports multiple P2P hole-punching methods, syncs quickly, and offers rich features.

  • Web-based File Manager - kodbox
    Alternatively, the built-in unRAID web file manager (with Dynamix File Manager plugin) is a lightweight option.

  • File Indexing - diskover
    Uses Elasticsearch to index all files for fast search, though it can’t search file contents. FSCrawler might be a better alternative.

  • Cloud Backup - restic / duplicati
    I’m currently using duplicati to back up local files to Alibaba Cloud WebDAV. Easy one-click Docker install with a user-friendly web UI.
    Alibaba Cloud doesn’t require a paid membership and isn’t throttled—I bought an 8TB expansion for under $5/year on Xianyu (a Chinese secondhand marketplace).
    So far, it’s extremely stable—backup speeds saturate my 120Mbps upload bandwidth, allowing drives to spin down quickly. Weekly incremental snapshots finish fast.
    Will update if throttling starts. Alternatively, the 5TB OneDrive included with an E5 subscription is also a solid option (though network stability has been inconsistent in my tests). For smaller datasets (<200GB), Tencent Cloud COS is reliable and very affordable.

  • QuickConnect - No direct replacement, solved via VM.

Virtual Machine Deployment

I’ve set up VMs for Windows 11, Ubuntu 22.04, Debian 11, and a hacked Synology DSM 7.1.

The DSM 7.1 VM is currently used solely for QuickConnect-based internal network tunneling.

Pitfalls Encountered

Portainer conflicts with unRAID’s built-in Docker management. While unRAID’s Docker UI is less feature-rich than Portainer, any changes made through unRAID will overwrite Portainer settings. Additionally, adding custom containers in unRAID requires manually creating XML templates.

unRAID does have its downsides:

  1. Advanced settings for Docker, networking, and VMs are missing or incomplete in the WebUI. Manual configuration on Slackware (unRAID’s base) can be tricky.

  2. You must start the array before launching Docker containers or VMs. Changing network settings requires shutting down all containers and VMs—this makes running a software router on unRAID somewhat inconvenient.

  3. Minor UX issues and bugs still exist—some require manual debugging.
    Examples: Docker icons may fail to update, slow docker pull operations can freeze the WebUI, shutdown may fail to unmount disks properly, dockerMan conflicts with Portainer, and shared folders often have permission issues.

  4. Pure HDD arrays are slow—though this can be mitigated with SSD caching.

  5. Plugin installation often fails due to network issues.
    (Workaround: Add HTTP_PROXY to emhttp environment variables (see this guide) to use an HTTP proxy, or route traffic through a gateway proxy.)

So far, unRAID’s stability seems acceptable—still need more time to observe.

This article is licensed under the CC BY-NC-SA 4.0 license.

Author: lyc8503, Article link: https://blog.lyc8503.net/en/post/13-unraid-all-in-one/
If this article was helpful or interesting to you, consider buy me a coffee¬_¬
Feel free to comment in English below o/