Home Data Center - Software Environment Selection Guide
This article was last updated 287 days ago. The information within may have evolved or changed; if anything is outdated or broken, please feel free to leave a message in the comments section.
Article Abstract
In building a home data center, choosing the software environment requires weighing deployment methods against virtualization solutions. Comparing LNMP/LAMP with Docker, the latter is the preferred choice due to its flexibility, portability, and compatibility with K8s, with exceptions reserved only for scenarios like load balancing. Virtualization technology adopts a PVE combined with LXC solution, balancing resource isolation and performance; PVE is superior to Esxi due to being free, having cluster support, and high playability. In actual deployment, a Mac Mini serves as the main container environment, while PVE virtual machines host reverse proxy and security protection workflows, achieving request filtering and load balancing through the Baota panel, SafeLine Community Edition, and Zevenet, forming a complete home data center service architecture.
Qwen3-14B · 2026-06-18

In the previous article we discussed the hardware choices for building a home data center, and in this article we will mainly discuss the choice of software environment.

Choice of deployment method

Currently, we have two mainstream methods for deploying applications: LNMP (LAMP) or Docker.

Using LNMP (LAMP)

This is what we commonly refer to as source code deployment, suitable for direct deployment on bare-metal servers. This method incurs no performance loss for the server, and mutual calls and access between applications are very convenient. The disadvantage is that the early deployment preparation is complex, requiring various compilations, and migration later on is very inconvenient.

Docker

This method greatly increases deployment flexibility and portability, and can be used in conjunction with container cluster management systems like K8s to achieve automated deployment, auto-scaling, and maintenance of container clusters. The disadvantage is a minor performance loss.

In terms of application deployment methods for the home data center, the Docker method clearly blows the LN(A)MP method out of the water. Therefore, when deploying home data center applications in the future, we will mainly use the Docker method (with exceptions that we will mention later, such as load balancing deployment, which is not suitable for Docker).

Virtualization technology

As for the choice of virtualization technology, I will adopt a combination of virtual machines and LXC. LXC is the most recommended method under normal circumstances. After all, it achieves application isolation without the performance overhead of simulating underlying hardware like virtual machines do, which perfectly meets my needs (on the other hand, the disadvantage of LXC is that the isolation is not thorough, both at the application level and the hardware resource level. For real enterprise production environments, saving that little bit of hardware overhead doesn't make much sense since hardware is dirt cheap nowadays, so it can only be said to suit the needs of a home data center). Virtual machines (Linux) are used to provide for some special applications that require complete resource isolation (which we will discuss later). Additionally, I need a 24-hour online Windows system to act as a remote O&M device (Windows RDP is indeed the best experience among all remote access methods, VNC is really hard to describe... Of course, the Mac Mini is also fine, and using Jump Desktop with the Mac Mini offers a great remote experience too. Windows is considered for times when I don't have a terminal with me, so I can just find any machine in an internet cafe and connect via Remote Desktop). Therefore, I ultimately chose PVE as the virtualization platform.


Why not choose Esxi for the virtualization platform? First, it is paid software, and one of my principles for building a home data center is that it must be free, so this is definitely out. Second, Esxi has no playability, whereas PVE itself is Debian 11, allowing you to install various software, making it highly playable. Third, PVE directly supports LXC. Fourth, PVE provides free clustering and backup functions...


Actual environment showcase

Let me show you my current actual environment:

Main container runtime environment, Mac Mini:

image.png

Among them, the stopped Elasticsearch is used for full-text search in Nextcloud. It was disabled by me because it consumes too much memory, and I plan to migrate it to the backup platform in the future.

Backup container runtime environment:

image.png

PVE virtual machine:

image.png

"bt-only" is an LXC I specifically use to run a Baota panel. This LXC carries the reverse proxy work for the 3 entry points of the home data center, responsible for forwarding requests coming from the 3 WAN ports to the backend WAF. The backend WAF uses the SafeLine Community Edition (free and easy to use), which is responsible for filtering requests and then forwarding them to the backend load balancing device. The load balancing uses Zevenet Community Edition (free and easy to use), responsible for forwarding requests to the appropriate Docker containers. The above is the request forwarding workflow inside the home data center.

View Related Categories · 3 Matches
📌 Content Structure Prompt:
This content is part of the following knowledge map, where you can view the complete content path: Blog Knowledge Map。
📎 Related Articles
Share this article
The blog content is original, please indicate the source when reposting! The RSS address of the blog is:https://blog.tangwudi.com/feed, welcome to subscribe; if needed, you can join theTelegram Groupto discuss questions together.
No Comments

Send Comment Edit Comment


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗ
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
Kaomoji
Emoji
Little Dinosaur
Flower!
Previous
Next
       

👋 Welcome to “Wudi's Personal Blog”

Here, long-term exploration is mainly carried out around the following directions:

🧱 Personal Digital Infrastructure and Blog System Construction
☁️ Cloudflare and Network Architecture Practice
🧠 AI and Knowledge System Exploration
🛡️ Network Security and Access Optimization
🎵 Music and Sound Cognition
👁️ Cognitive Perspectives and Worldviews