Skip to content
GBTI
I've Migrated My Home Server to Proxmox.

I've Migrated My Home Server to Proxmox.

The current hardware specs of my home server read:12gb DDR4 ram, 100gb SSD, 1TB external HD, and an i7-7700 CPU. Modest but for years it’s served me well from my office closet.

Until recently I’ve been running a copy of Windows Tiny 10 on it while leveraging its Windows Sub Linux system to run a copy of SavePoint Station Manager for a community radio project.

As a developer neck deep in the AI boom, I am building (and downloading) more self-hosted software than ever. 100GB is a good amount of space, and Windows, even though Tiny, takes up too much of it. Not only that, Windows has been a great OS for direct use over the years, but with my home server, my use is more and more remote; which makes the need for a user-first OS less important. What is more important is claiming and delgating resources across linux first applications.

On my Windows home server I was frequently using WSL and it is not an ideal development environment. Now, I have finally come to the point where I want my home server environment to be more singular purposed, like the VPN I rent on Cloudways that I can tunnel into (saving 100USD a year) .

So I’ve ditched Windows, and on the recommendation of a colleague, installed **Proxmox **as my new home server OS.

Part 1: Proxmox and the “ProxMoxBox”

Proxmox is a linux-first OS platform that manages virtual machines and LXC containers from one web interface.

Proxmox offers a specialized operating system that allows segmentation of machines and containers. Think of it as your own linux container manager; similar to a collection of Dropbox instances.

Instead of piling every self-hosted application into WSL under Windows, each service can live in its own container environment. This makes applications easier to install, start up, back up, restart, move, upgrade, and occasionally break without taking the rest of the server down with them.

Proxmox can do this with full virtual machines, but many self-hosted Linux applications can run in much lighter *LXC *containers. Proxmox OS can even bind multiple machines together under a single cluster/interface. So if you have two home server machines, they can combine into one network accessible singular OS.

Proxmox OS was built in such a way that home server management is a primary and not a secondary consideration, where as Windows was not created for compartmentalized application management (though it can support it).

Part 2: What LXC is, and how it differs from a virtual machine

I used the word LXC earlier, which for me was a brand new term when I started my ProxMox journey. It stands for “Linux Container”, plainly.

pasted-20260911-203944
Borrowed meme from: https://www.reddit.com/r/ProgrammerHumor/comments/qq8l3h/dont_shame_me_plz/

One of the first questions my AI agent proposed to me during my first home server application setup was, “Do you want to install this application as a virtual machine or a LXC?” while simultaneously advising that I choose LXC.

When asking why it recommended an LXC over a virtual machine, I was informed that an LXC container and a virtual machine require different resource commitments. The VM required an upfront delegation of resources that subsequent LXC containers would share resources from. If I delegated 50% machine resources to VM One, then I would have 50% resources for VM two. They would not share the resources. While rather if I only created VM One, and then created several LXC containers within that VM, these sub containers would share.

Without a distinct need to create multiple VMs on one computer, I would be better off with just one and then all my sub-linux containers would share the whole of that machines resources (which would be better for my purpouse).

A virtual machine emulates a computer. It boots its own kernel, runs its own device drivers through QEMU, and holds its own memory. When you give a VM 4 GB, that 4 GB is allocated to it and the host cannot use it for anything else, whether the VM is busy or idle.

An LXC container shares the host’s kernel. There is no guest kernel to boot, no QEMU, no virtio device state. What you get instead is a set of isolated namespaces and cgroup limits around a normal Linux process tree.

In practice a bare Debian container idles at something like 30 to 60 MB of RAM before you run anything, where the same services in a VM cost 200 to 400 MB just to exist. A container starts in under a second. A VM takes 15 to 30 seconds to boot.

Part 3: Using Tailscale with Poxmox

Converting Windows to Poxmox was the first part of my home server migration.

pasted-20260911-173457

The second part of the home network setup was making my server applications accessible inside my home network (as well as outside of it).

To solve this, we have used a service called Tailscale.

Let’s give an example…

At home I have two Nest Cameras (Google) and instead of paying the 5USD a month to store and access doorbell+driveway footage from Google’s cloud, I built my own surveillance storage that stores the footage on a spare USB HD.

With Tailscale, I can type http://homesurveillance into a browser on any device connected to my Tailscale network and reach the server as though I were still at home.

aha-starlight-survailence-1
Yes these are two of my cameras! I converted them to the style of Aha's Take on Me to help depersonalize them.

Access to these host endpoints are controlled by policies I define, so only approved devices and users can connect.

Under the hood, Tailscale creates an encrypted WireGuard connection between my devices and gives each one a stable private address and hostname. On an iPhone, the Tailscale app uses iOS’s built-in VPN interface to route that private traffic securely back to the home server.

The best part about the TailScale solution has been their extremely generous free tier offering that covers nearly all personal usage. I already have several devices connected and host addresses for almost 8 different home server applications (this number seems to keepgrowing as I add more containers to my PoxMoxBox.

The final migration; ProxMox in use:

Since starting this small article, the ProxMox server is not only completely setup. I’ve added a second machine to it, 8gb more ram, an addition 1tb SSD, a Zotec 1060 with 6gb virtual memory, and I’ve reformatted two external hard drives from NFTS to EXT4 so they are compatable with the Linux machines.

The only thing left to do now is share some screenshots of my servers and let you know how I am using it to improve my personal computing experience:

chrome_GCXZ6LAnhV

So what are we running?

I’ve created a members-only breakdown of the current contents of my home server, with links to the open-source software that helps me run these apps.

Happy to discuss any of these applications or my setup in the comments or on Discord. Thanks for reading, and good luck with your home server build 🙌

Members-only section

This content is for members. Become a member and it unlocks here, or if you already are.

You are signed in. Unlocking this content now.

A creator network, powered by Git

Join the GBTI Network

The GBTI Network is a creator community. Browse, follow, and save across the network for free, no card required. Join a paid tier to take part and share in the revenue.

Network Supporter ($50/year): post comments across the network; full Discord access; read members-only content and comment bodies; see the member-only Shares stream; and publish articles, projects and prompts, members first and public after editorial review. Supporters share in the revenue program.
Become a member You are reading atwellpub's work. Joining from this page credits atwellpub.

Get the weekly digest

One email a week: new member articles, projects and prompts, plus the developer news worth reading. Unsubscribe in one click, any time.

We send a confirmation email first. You are not subscribed until you click the link in it. Read the privacy policy.

From the author

atwellpub

This was my first time working with both Proxmox and Tailscale, and I’m very pleased with the end result. Hopefully, my story will inspire more people like me to make the same decision.

0 Comments

No comments yet. Be the first. Members comment from the GBTI local client, where comments are submitted as pull requests and auto-published for paid members.

Become a member

Comments are for members. Become a member to join the conversation, or if you already are.

You are signed in as a member. .

Contribution history
The changes below are the change history of this article. A member who improves it through an accepted pull request earns a share of the revenue it generates.
Publish article: I've Migrated My Home Server to Proxmox. (#451)
gbti-network-publisher[bot]maintainer#451today
+5−4
3f34617
Publish article: I've Migrated My Home Server to Proxmox. (#450)
gbti-network-publisher[bot]maintainer#450today
+6−7
e2b1beb
Publish article: I've Migrated My Home Server to Proxmox. (#449)
gbti-network-publisher[bot]maintainer#449today
+2−2
31c6711
Publish article: I've Migrated My Home Server to Proxmox. (#448)
gbti-network-publisher[bot]maintainer#448today
+3−3
cef72d7
Publish article: I've Migrated My Home Server to Proxmox. (#447)
gbti-network-publisher[bot]maintainer#447today
+2−2
47b11bb
Publish article: I've Migrated My Home Server to Proxmox. (#446)
gbti-network-publisher[bot]maintainer#446today
+3−3
2ea7321
content(atwellpub): re-apply the real publish date
GBTI Networkmaintainertoday
+1−1
6b79889
Publish article: I've Migrated My Home Server to Proxmox. (#445)
gbti-network-publisher[bot]maintainer#445today
+3−3
f4a2887
content(atwellpub): close the bold around the Proxmox link
GBTI Networkmaintainertoday
+1−1
38b6c2f
Publish article: I've Migrated My Home Server to Proxmox. (#444)
gbti-network-publisher[bot]maintainer#444today
+4−4
48973c6
content(atwellpub): date the Proxmox article to when it was published
GBTI Networkmaintainertoday
+1−1
93bf0ae
content(atwellpub): publish the Proxmox article, on the journal layout
GBTI Networkmaintainertoday
+2−2
3615d93
remediate: draft members/atwellpub/posts/proxmoxbox-migrating-my-home-server-to-lxc/index.md (failed post-publish validation) (#442)
GBTI Networkmaintainer#442today
+1−1
78113ec
Publish article: I've Migrated My Home Server to Proxmox. (#441)
gbti-network-publisher[bot]maintainer#441today
+69−56
55f9240
content(atwellpub): featured image for the Proxmox home server draft
GBTI Networkmaintaineryesterday
+5−0
d993653
content(post): one source line per paragraph, so the Preview can edit them
GBTI Networkmaintainer19 days ago
+34−106
840e86f
content(post): apply the ProxMoxBox overview revision (12 edits)
GBTI Networkmaintainer19 days ago
+16−24
b3c4f06
content(atwellpub): apply the two voice lanes' findings that survived the rework
GBTI Networkmaintainer26 days ago
+16−15
4c4f5a2
content(atwellpub): rework the ProxMoxBox opening around why the migration happened
GBTI Networkmaintainer26 days ago
+33−81
f72694a
content(atwellpub): restore the four headings that lost content, fix a repair that created a defect
GBTI Networkmaintainer28 days ago
+5−5
20fa91c
content(atwellpub): apply the mechanical voice findings to the ProxMoxBox draft
GBTI Networkmaintainer28 days ago
+21−19
bc998b0
content(atwellpub): add the per-app isolation reason to the ProxMoxBox draft
GBTI Networkmaintainer28 days ago
+8−0
706cca0
content(atwellpub): draft ProxMoxBox home server LXC migration article
GBTI Networkmaintainer28 days ago
+211−0
0faa248
Full history on GitHub Spotted something? Become a member to contribute.

Related posts

Join the GBTI co-op

Saving, collecting, and following are member perks. Sign in with a free GitHub account to keep what you find, and become a member to comment, join the Discord, and unlock members-only content.