<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/migrating-my-personal-server-from-truenas-to-proxmox-w36cgj8l3" -->

---
title: Migrating my PERSONAL SERVER from TrueNAS to Proxmox
description: A hands-on walkthrough of consolidating a 10-server homelab down to 7 by migrating workloads from TrueNAS SCALE to Proxmox. Covers importing a ZFS pool from...
canonical: https://daily.dev/posts/migrating-my-personal-server-from-truenas-to-proxmox-w36cgj8l3
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Migrating my PERSONAL SERVER from TrueNAS to Proxmox | daily.dev
og:description: A hands-on walkthrough of consolidating a 10-server homelab down to 7 by migrating workloads from TrueNAS SCALE to Proxmox. Covers importing a ZFS pool from...
og:url: https://daily.dev/posts/migrating-my-personal-server-from-truenas-to-proxmox-w36cgj8l3
og:image: https://api.daily.dev/og/posts/w36CgJ8l3.png
og:image:alt: Migrating my PERSONAL SERVER from TrueNAS to Proxmox
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Migrating my PERSONAL SERVER from TrueNAS to Proxmox

**[apalrd's adventures](https://daily.dev/sources/apalrd)** · 9 min read · 0 upvotes · 0 comments

## Summary

A hands-on walkthrough of consolidating a 10-server homelab down to 7 by migrating workloads from TrueNAS SCALE to Proxmox. Covers importing a ZFS pool from TrueNAS, setting up UID/GID mapping for unprivileged LXC container bind mounts, configuring per-dataset backups to Proxmox Backup Server using systemd-instanced units and the proxmox-backup-client, setting up ZFS snapshots with Sanoid, and enabling Windows Shadow Copy via Samba for end-user file recovery.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.apalrd.net/posts/2023/ultimate_migrate>

## Questions this post answers

### How do I fix UID/GID permission issues with unprivileged LXC container bind mounts in Proxmox?

Unprivileged LXC containers map UIDs/GIDs to 100000+ on the host by default. To share a specific UID (e.g. 1000) between host and container, add idmap entries to the LXC config file (/etc/pve/lxc/<ID>.conf), grant root subuid/subgid permissions in /etc/subuid and /etc/subgid, then chown the data directories to 1000:1000 on the host. The total mapped IDs must equal 65536 with no gaps or duplicates or the container will fail to start.

_Homelab engineers working through Proxmox LXC permission headaches share solutions like this on daily.dev._

### How do I back up individual ZFS datasets separately to Proxmox Backup Server instead of all at once?

Install proxmox-backup-client inside the container from the Proxmox Debian repository, then create a systemd instanced service (e.g. pbs-client@.service) that runs the backup client for a single dataset, naming each backup after the dataset. This makes each dataset appear as a separate host entry in PBS (e.g. host/video, host/media), allowing independent schedules via per-dataset systemd timers.

_Teams managing multi-dataset backup strategies on Proxmox find real-world configurations like this on daily.dev._

### How do I set up Windows Shadow Copy on a Samba share backed by ZFS snapshots in Proxmox?

Install Sanoid on the Proxmox host to take frequent ZFS snapshots of the datasets mounted into the container. In Cockpit File Sharing, enable the Shadow Copy option and set shadow:format in the share's advanced options to match Sanoid's 'frequently' snapshot naming convention. ZFS automatically exposes snapshots via the .zfs directory, and permissions are preserved inside the container.

_Self-hosters setting up Samba with snapshot-based recovery on Proxmox track setups like this on daily.dev._

## Similar posts on daily.dev

- [I picked Proxmox over TrueNAS Scale for my home lab, and I'd make the same choice today](https://daily.dev/posts/i-picked-proxmox-over-truenas-scale-for-my-home-lab-and-i-d-make-the-same-choice-today-coiuykxzk) · XDA Developers · 1 upvotes · 0 comments
- [I migrated from TrueNAS to Synology and Proxmox without losing a single service](https://daily.dev/posts/i-migrated-from-truenas-to-synology-and-proxmox-without-losing-a-single-service-nfljaxrcj) · XDA Developers · 0 upvotes · 0 comments
- [I turned my TrueNAS server into a Proxmox VM, and one machine now does what used to take two](https://daily.dev/posts/i-turned-my-truenas-server-into-a-proxmox-vm-and-one-machine-now-does-what-used-to-take-two-tzm35q0cc) · XDA Developers · 0 upvotes · 0 comments
- [TrueNAS SCALE tried to do everything, so I gave it one job and moved the rest to Proxmox](https://daily.dev/posts/truenas-scale-tried-to-do-everything-so-i-gave-it-one-job-and-moved-the-rest-to-proxmox-rbeazigrz) · XDA Developers · 1 upvotes · 0 comments

---

Tags: [#linux](https://daily.dev/tags/linux), [#self-hosting](https://daily.dev/tags/self-hosting), [#proxmox](https://daily.dev/tags/proxmox), [#truenas](https://daily.dev/tags/truenas)

[View this post on daily.dev](https://daily.dev/posts/migrating-my-personal-server-from-truenas-to-proxmox-w36cgj8l3)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Migrating my PERSONAL SERVER from TrueNAS to Proxmox","url":"https://daily.dev/posts/migrating-my-personal-server-from-truenas-to-proxmox-w36cgj8l3","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/migrating-my-personal-server-from-truenas-to-proxmox-w36cgj8l3"},"datePublished":"2026-08-11T08:56:26.938Z","dateModified":"2026-08-11T09:31:58.018Z","description":"A hands-on walkthrough of consolidating a 10-server homelab down to 7 by migrating workloads from TrueNAS SCALE to Proxmox. Covers importing a ZFS pool from...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/efd862ec5d593d7cf3e1347cd5d194b8?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/efd862ec5d593d7cf3e1347cd5d194b8?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"apalrd's adventures","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"apalrd's adventures","logo":"https://media.daily.dev/image/upload/s--4zkx8dRj--/f_auto,q_auto/v1786438309/logos/apalrd?_a=BAMAMicg0","url":"https://daily.dev/sources/apalrd"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/migrating-my-personal-server-from-truenas-to-proxmox-w36cgj8l3","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"linux,self-hosting,proxmox,truenas","timeRequired":"PT9M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"apalrd's adventures","item":"https://daily.dev/sources/apalrd"},{"@type":"ListItem","position":3,"name":"Migrating my PERSONAL SERVER from TrueNAS to Proxmox"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/migrating-my-personal-server-from-truenas-to-proxmox-w36cgj8l3#faq","mainEntity":[{"@type":"Question","name":"How do I fix UID/GID permission issues with unprivileged LXC container bind mounts in Proxmox?","acceptedAnswer":{"@type":"Answer","text":"Unprivileged LXC containers map UIDs/GIDs to 100000+ on the host by default. To share a specific UID (e.g. 1000) between host and container, add idmap entries to the LXC config file (/etc/pve/lxc/<ID>.conf), grant root subuid/subgid permissions in /etc/subuid and /etc/subgid, then chown the data directories to 1000:1000 on the host. The total mapped IDs must equal 65536 with no gaps or duplicates or the container will fail to start. Homelab engineers working through Proxmox LXC permission headaches share solutions like this on daily.dev."}},{"@type":"Question","name":"How do I back up individual ZFS datasets separately to Proxmox Backup Server instead of all at once?","acceptedAnswer":{"@type":"Answer","text":"Install proxmox-backup-client inside the container from the Proxmox Debian repository, then create a systemd instanced service (e.g. pbs-client@.service) that runs the backup client for a single dataset, naming each backup after the dataset. This makes each dataset appear as a separate host entry in PBS (e.g. host/video, host/media), allowing independent schedules via per-dataset systemd timers. Teams managing multi-dataset backup strategies on Proxmox find real-world configurations like this on daily.dev."}},{"@type":"Question","name":"How do I set up Windows Shadow Copy on a Samba share backed by ZFS snapshots in Proxmox?","acceptedAnswer":{"@type":"Answer","text":"Install Sanoid on the Proxmox host to take frequent ZFS snapshots of the datasets mounted into the container. In Cockpit File Sharing, enable the Shadow Copy option and set shadow:format in the share's advanced options to match Sanoid's 'frequently' snapshot naming convention. ZFS automatically exposes snapshots via the .zfs directory, and permissions are preserved inside the container. Self-hosters setting up Samba with snapshot-based recovery on Proxmox track setups like this on daily.dev."}}]}
```

