简体中文 / [English]


AIO Ep5. The Software Architecture of My Server

 

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.

The base ESXi system is already installed. Let’s now go over the software setup plan.

I want this All-in-One server to fulfill the following functions:

  1. Store data / back up computer and mobile device data
  2. Support RAID array configuration
  3. Encrypt and back up data to cloud storage (e.g., OneDrive)
  4. Provide photo organization, sorting, and categorization (photo stream?) / basic multimedia features (play videos/audio, read txt files, etc.)
  5. Enable remote access
  6. Support remote downloading (including Baidu Drive)
  7. Run Docker containers (host various applications)
  8. Run Windows programs (i.e., host a full Windows system)

Let’s break down these requirements:

The first four items are fundamental NAS functionalities. When it comes to photo management, Synology Moments immediately comes to mind—it’s simply the best.

For item 5, I’ve previously used Zerotier on my router. However, Zerotier relies on UDP hole punching, which can be unstable at times. A more reliable solution would be preferable.

Item 6 can be achieved using an aria2 Docker container, combined with running the Baidu Drive client inside a Windows VM.

For item 7, there are plenty of options for running Docker—Windows, Debian/Ubuntu, Synology, Unraid, etc., all work.

Item 8 is straightforward: just run a Windows VM directly on ESXi.

Previously, I experimented with Unraid—a popular choice for virtualized NAS setups. While widely used, its configuration turned out to be relatively complex. Installing plugins or connecting to GitHub doesn’t support direct proxy settings; instead, it requires a global transparent proxy. Also, disk performance for Windows VMs was underwhelming. If you attempt to install a “Hack-Synology” (unofficial Synology) VM under Unraid, passing through drives for RAID essentially defeats the purpose of using Unraid. Mounting via NFS leads to indexing issues in Synology and introduces noticeable performance overhead.

FreeNAS consumes too much memory. U-NAS or “Hack-QNAP” felt less user-friendly compared to Hack-Synology in my testing. OMV lacks many features out-of-the-box—too much manual setup required, not as convenient as Synology.

So in the end, I decided to install both Hack-Synology and a Windows VM directly on ESXi. Run Docker containers within Synology, pass through the SATA controller to Synology, and then let ESXi mount Synology’s storage via NFS to host the Windows VM. In practice, this delivers solid disk performance for Windows—no lag or stutter.

With this setup, booting both ESXi and Hack-Synology requires just a single USB drive (setup method covered in a previous episode), and all storage space can be fully utilized.

Synology handles RAID configuration, Synology Drive backs up files, Photo Station + Moments manages photos, Cloud Sync enables encrypted cloud backups, and after “whitelisting” (activation), QuickConnect (QC) provides seamless internal/external network access.

Using these built-in packages is way more convenient than rolling your own solutions.

Detailed setup steps will be covered in the next episode.

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

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