Für ein einfaches NAS brauche ich nicht unbedingt TrueNAS, OpenMediaVault oder eine große Weboberfläche. Wenn ohnehin ein Proxmox-Server läuft, reicht für viele Aufgaben bereits ein kleiner Debian-LXC mit Samba und einer eigenen Festplatte als Datenspeicher.
Genau so ist mein Aufbau entstanden: Die Festplatte wird direkt auf dem Proxmox-Host eingebunden und anschließend per Bind-Mount in einen unprivilegierten LXC durchgereicht. Dort stellt Samba die Daten im Netzwerk bereit. Optional kommt mit MiniDLNA beziehungsweise ReadyMedia noch ein einfacher Medienserver für Fernseher und andere DLNA-Clients dazu.
In dieser Anleitung bauen wir das Ganze Schritt für Schritt auf und schauen uns dabei auch die Stelle an, die bei LXC besonders gerne Ärger macht: UIDs, GIDs und Dateirechte bei unprivilegierten Containern.
Aktualisiert am 24. September 2026 – unprivilegierte LXC-Berechtigungen überarbeitet und aktuelle Debian-/Proxmox-Hinweise ergänzt.
Kurz zusammengefasst
Ein einfaches NAS lässt sich sehr schlank als Debian-LXC unter Proxmox betreiben. Die eigentliche Festplatte wird dabei auf dem Proxmox-Host formatiert und gemountet. Anschließend wird das Verzeichnis als Bind-Mount in den Container eingebunden.
Im LXC übernimmt Samba die SMB-Freigaben für Windows, Linux und andere Geräte. Optional kann MiniDLNA/ReadyMedia Bilder, Musik und Videos im lokalen Netzwerk bereitstellen. Wichtig sind vor allem eine saubere Mount-Konfiguration und korrekte UID-/GID-Rechte bei einem unprivilegierten Container.
Das Wichtigste in Kürze
- Die Datenfestplatte wird auf dem Proxmox-Host eingebunden.
- Der LXC sieht sie anschließend über einen Bind-Mount.
- Ein unprivilegierter Container ist gegenüber einem privilegierten Container grundsätzlich die bessere Ausgangsbasis.
- Bei unprivilegierten LXCs müssen die UID- und GID-Zuordnungen berücksichtigt werden.
- Samba stellt die Daten per SMB im lokalen Netzwerk bereit.
- MiniDLNA/ReadyMedia kann zusätzlich Fotos, Musik und Videos per DLNA anbieten.
- Das NAS benötigt keine eigene große Verwaltungsoberfläche.
- Ein NAS ersetzt kein Backup – wichtige Daten sollten zusätzlich auf einem zweiten System oder Datenträger liegen.
So sieht der Aufbau aus
Proxmox VE
│
├── Systemdisk
│
└── Datenfestplatte
↓
/mnt/nas-disk
↓
Bind-Mount
↓
Debian-LXC
/mnt/nas
│
├── Samba
│ ├── fotos
│ ├── videos
│ ├── music
│ └── backups
│
└── MiniDLNA / ReadyMedia
├── fotos
├── videos
└── music
Schnellnavigation
- Voraussetzungen
- Festplatte auf Proxmox vorbereiten
- Festplatte dauerhaft mounten
- Debian-LXC erstellen
- Festplatte in den LXC einbinden
- UID und GID bei unprivilegiertem LXC
- Samba installieren
- Samba-Freigaben konfigurieren
- NAS unter Windows verbinden
- MiniDLNA / ReadyMedia einrichten
- Warum das NAS noch kein Backup ist
- Häufige Probleme
- FAQ
- Fazit
Was brauche ich für ein NAS im Proxmox-LXC?
Für diesen Aufbau benötigen wir erstaunlich wenig.
- einen laufenden Proxmox-VE-Host
- eine zusätzliche HDD oder SSD für die NAS-Daten
- ein aktuelles Debian-LXC-Template
- eine Netzwerk-Bridge, normalerweise
vmbr0 - etwas Speicherplatz für das Container-System
- Samba für SMB-Freigaben
- optional MiniDLNA/ReadyMedia
Der Container selbst benötigt kaum Ressourcen. Die eigentlichen Daten liegen schließlich nicht auf dessen Root-Dateisystem, sondern auf der separaten Datendisk.
Für einen einfachen Samba-Server reichen deshalb häufig bereits ein CPU-Core und einige hundert Megabyte RAM. Wenn später weitere Dienste dazukommen, kann der Container jederzeit mehr Ressourcen erhalten.
Neu bei Proxmox? Falls du gerade erst mit VMs, LXCs und Bridges anfängst, findest du die Grundlagen in meiner Proxmox-Anleitung.
Als Datenträger eignet sich je nach Einsatzzweck eine SSD oder eine klassische NAS-HDD. Für größere Datenmengen ist beispielsweise eine WD Red Plus (bezahlter Link) interessant; für ein leises und schnelles kleines NAS kann auch eine SATA-SSD sinnvoll sein.
Festplatte auf dem Proxmox-Host vorbereiten
Die Datenfestplatte wird zunächst direkt auf dem Proxmox-Host eingerichtet.
Zuerst prüfen wir, welche Laufwerke vorhanden sind:
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINTS,MODEL
In meinem Beispiel ist die zusätzliche Festplatte /dev/sdb.
Achtung: Die folgenden Schritte löschen vorhandene Partitions- und Dateisysteminformationen. Prüfe vor jedem Befehl mehrfach, ob /dev/sdb wirklich die richtige Festplatte ist.
Falls die Platte vollständig neu eingerichtet werden soll:
wipefs -a /dev/sdb
Anschließend legen wir eine GPT-Partitionstabelle und eine Partition über die gesamte Platte an:
fdisk /dev/sdb <<'FDISK'
g
n
w
FDISK
Danach sollte eine Partition wie /dev/sdb1 existieren.
Diese formatieren wir beispielsweise mit ext4:
mkfs.ext4 -L NASDATA /dev/sdb1
Warum ext4? Für ein einfaches einzelnes Datenlaufwerk ist ext4 unkompliziert, bewährt und gut dokumentiert. Wer Snapshots, Checksummen oder größere Storage-Pools benötigt, kann natürlich auch andere Dateisysteme beziehungsweise ZFS verwenden – das wäre dann aber ein anderer Aufbau.
NAS-Festplatte dauerhaft unter Proxmox mounten
Der Mountpoint auf dem Proxmox-Host lautet in dieser Anleitung:
/mnt/nas-disk
Zuerst erstellen wir das Verzeichnis:
mkdir -p /mnt/nas-disk
Danach lesen wir die UUID der Partition aus:
blkid /dev/sdb1
Die Ausgabe enthält beispielsweise:
UUID="12345678-abcd-1234-abcd-123456789abc"
Diese UUID tragen wir in /etc/fstab ein:
nano /etc/fstab
Beispiel:
UUID=12345678-abcd-1234-abcd-123456789abc /mnt/nas-disk ext4 defaults,nofail 0 2
Danach testen wir die Konfiguration:
mount -a
findmnt /mnt/nas-disk
df -h /mnt/nas-disk
Warum UUID statt /dev/sdb1? Gerätenamen wie /dev/sdb können sich unter bestimmten Umständen ändern. Die UUID gehört dagegen zum Dateisystem und ist deshalb für einen dauerhaften Mount zuverlässiger.
Debian-LXC für das NAS erstellen
Nun brauchen wir den Container, in dem später Samba und MiniDLNA laufen.
Welcher genaue Template-Dateiname verfügbar ist, hängt von deiner Proxmox-Installation und den aktuell heruntergeladenen Templates ab. Deshalb würde ich heute nicht mehr blind einen bestimmten Versionsstring in die Anleitung schreiben.
Verfügbare Templates lassen sich beispielsweise über die Proxmox-Oberfläche herunterladen oder auf der Shell prüfen.
Ein Container könnte anschließend beispielsweise so erstellt werden:
pct create 200 local:vztmpl/DEIN-DEBIAN-TEMPLATE.tar.zst \
--hostname nas \
--memory 512 \
--cores 1 \
--swap 512 \
--rootfs local-lvm:8 \
--net0 name=eth0,bridge=vmbr0,ip=dhcp \
--unprivileged 1
Wichtig ist hier vor allem:
200ist die Container-ID.naswird der Hostname.- 512 MB RAM reichen für einen einfachen Dateiserver meist problemlos.
- Das eigentliche Root-Dateisystem braucht nur wenig Platz.
- Die Netzwerkverbindung läuft über
vmbr0. --unprivileged 1erstellt einen unprivilegierten Container.
Anschließend starten wir ihn:
pct start 200
Die IP-Adresse lässt sich beispielsweise so anzeigen:
pct exec 200 -- hostname -I
Festplatte per Bind-Mount in den LXC einbinden
Jetzt kommt der entscheidende Teil: Der Container soll nicht die rohe Festplatte selbst bekommen, sondern das bereits auf dem Host gemountete Verzeichnis.
Dafür verwenden wir einen Proxmox-Mountpoint:
pct set 200 -mp0 /mnt/nas-disk,mp=/mnt/nas
Damit passiert Folgendes:
Proxmox:
/mnt/nas-disk
↓ Bind-Mount
LXC:
/mnt/nas
Nach einem Neustart des Containers sollte das Verzeichnis dort sichtbar sein:
pct restart 200
pct exec 200 -- findmnt /mnt/nas
pct exec 200 -- ls -la /mnt/nas
Warum nicht einfach die ganze Festplatte an den LXC durchreichen? Für diesen Aufbau gefällt mir der Bind-Mount besser: Der Proxmox-Host kontrolliert das Dateisystem und der Container erhält nur Zugriff auf das gewünschte Verzeichnis.
Warum kann ein unprivilegierter LXC nicht auf den Bind-Mount schreiben?
Hier lag in meiner ursprünglichen Anleitung die größte Vereinfachung.
Bei einem unprivilegierten LXC entsprechen Benutzer-IDs im Container nicht automatisch denselben IDs auf dem Proxmox-Host.
Der Container sieht beispielsweise:
root → UID 0
zebra → UID 1000
Auf dem Host werden diese IDs normalerweise in einen höheren UID-Bereich gemappt.
Deshalb war der alte Rat:
chown -R 1000:1000 /mnt/nas-disk
für einen unprivilegierten Standard-LXC nicht allgemein korrekt.
UID des Benutzers im Container prüfen
Zuerst erstellen wir später unseren NAS-Benutzer beziehungsweise prüfen dessen IDs:
pct exec 200 -- id zebra
Angenommen, der Benutzer hat im Container:
uid=1000
gid=1000
Standard-UID-Mapping verstehen
Bei einem normalen unprivilegierten LXC beginnt der gemappte UID-Bereich auf dem Host typischerweise bei 100000.
Dadurch entspricht beispielsweise:
Container UID 0 → Host UID 100000
Container UID 1000 → Host UID 101000
Dasselbe gilt entsprechend für die Gruppen-ID.
Bei einer solchen Standardkonfiguration könnten die Daten deshalb beispielsweise so zugeordnet werden:
chown -R 101000:101000 /mnt/nas-disk
Nicht blind übernehmen: Prüfe zuerst das tatsächliche UID-Mapping deines Containers. Eigene lxc.idmap-Einträge oder andere Konfigurationen können die Zuordnung verändern.
Die Container-Konfiguration lässt sich beispielsweise ansehen mit:
pct config 200
Sollte ich den LXC stattdessen privilegiert machen?
Technisch kann ein privilegierter Container den Umgang mit Dateirechten vereinfachen. Ich würde das heute aber nicht mehr als Standardlösung für ein Rechteproblem empfehlen.
Ein unprivilegierter Container reduziert die Auswirkungen, falls ein Prozess im Container kompromittiert wird. Deshalb ist es sinnvoller, UID-/GID-Mappings sauber zu lösen, statt nur für bequemere Dateirechte auf diese zusätzliche Isolation zu verzichten.
Samba im Debian-LXC installieren
Nachdem der Container auf /mnt/nas schreiben kann, richten wir die eigentlichen Netzwerkfreigaben ein.
Dazu wechseln wir in den Container:
pct enter 200
Dann installieren wir Samba:
apt update
apt install -y samba
Nun legen wir die gewünschten Ordner an:
mkdir -p /mnt/nas/{fotos,videos,music,backups}
NAS-Benutzer erstellen
In meinem Beispiel heißt der Benutzer zebra:
adduser zebra
smbpasswd -a zebra
Der erste Befehl legt den normalen Linux-Benutzer an. smbpasswd aktiviert ihn zusätzlich für die Anmeldung über Samba.
Anschließend prüfen wir noch einmal seine UID und GID:
id zebra
Samba-Freigaben konfigurieren
Die Samba-Konfiguration liegt unter:
/etc/samba/smb.conf
Vor einer Änderung erstelle ich gerne eine Sicherung:
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
Dann öffnen wir die Datei:
nano /etc/samba/smb.conf
Am Ende können beispielsweise folgende Freigaben ergänzt werden:
[fotos]
path = /mnt/nas/fotos
browseable = yes
read only = no
valid users = zebra
create mask = 0664
directory mask = 0775
[videos]
path = /mnt/nas/videos
browseable = yes
read only = no
valid users = zebra
create mask = 0664
directory mask = 0775
[music]
path = /mnt/nas/music
browseable = yes
read only = no
valid users = zebra
create mask = 0664
directory mask = 0775
[backups]
path = /mnt/nas/backups
browseable = yes
read only = no
valid users = zebra
create mask = 0660
directory mask = 0770
valid users = zebra beschränkt den Zugriff auf den angegebenen Samba-Benutzer. Samba dokumentiert genau diesen Mechanismus für Benutzer- beziehungsweise Gruppenfreigaben.
Vor dem Neustart testen wir die Konfiguration:
testparm
Wenn keine Fehler angezeigt werden:
systemctl enable --now smbd
systemctl restart smbd
systemctl status smbd --no-pager
Samba-Rechte bestehen aus zwei Ebenen: Die Freigabe in smb.conf kann Zugriff erlauben – schreiben kann der Benutzer aber trotzdem nur, wenn auch die normalen Linux-Dateirechte auf /mnt/nas passen.
Die Samba-Dokumentation weist ebenfalls darauf hin, dass beispielsweise valid users den Zugriff auf einzelne Benutzer oder Gruppen beschränken kann. :contentReference[oaicite:2]{index=2}
Proxmox-NAS unter Windows verbinden
Wenn Samba läuft, kann die Freigabe direkt über die IP-Adresse des Containers geöffnet werden.
Angenommen, der NAS-LXC hat:
192.168.0.103
Dann kann im Windows Explorer beispielsweise eingegeben werden:
\\192.168.0.103\fotos
oder:
\\192.168.0.103\backups
Anschließend meldet man sich mit dem zuvor über smbpasswd angelegten Benutzer an.
Wer die Freigabe regelmäßig nutzt, kann sie unter Windows als Netzlaufwerk verbinden.
MiniDLNA beziehungsweise ReadyMedia installieren
Für Fotos, Musik und Videos kann der LXC zusätzlich einen kleinen DLNA-Server bereitstellen.
Das Debian-Paket heißt weiterhin minidlna. Die Software ist auch als ReadyMedia beziehungsweise ReadyDLNA bekannt und ist weiterhin in aktuellen Debian-Versionen verfügbar.
Installation:
apt update
apt install -y minidlna
Die zentrale Konfigurationsdatei lautet:
nano /etc/minidlna.conf
Eine einfache Konfiguration könnte beispielsweise enthalten:
friendly_name=Prokrastinerd NAS
media_dir=P,/mnt/nas/fotos
media_dir=V,/mnt/nas/videos
media_dir=A,/mnt/nas/music
db_dir=/var/cache/minidlna
log_dir=/var/log
inotify=yes
port=8200
Dabei bedeutet:
P= BilderV= VideosA= Audio
Anschließend:
systemctl enable --now minidlna
systemctl restart minidlna
Wenn die Medienbibliothek vollständig neu aufgebaut werden soll:
systemctl stop minidlna
minidlnad -R
systemctl start minidlna
Die Statusseite ist anschließend normalerweise unter folgendem Port erreichbar:
http://<NAS-IP>:8200/
MiniDLNA ist auch in Debian 13 weiterhin als Paket verfügbar und wird dort als leichter DLNA-/UPnP-AV-Server beschrieben. :contentReference[oaicite:3]{index=3}
DLNA ist bewusst simpel. MiniDLNA stellt Dateien zur Verfügung, ist aber kein Plex- oder Jellyfin-Ersatz mit Benutzerverwaltung, Transcoding, Metadatenverwaltung und hübscher Oberfläche.
Ist dieses NAS gleichzeitig ein Backup?
Nein.
Eine einzelne Festplatte mit Samba-Freigaben ist zunächst nur zentraler Speicher.
Wenn die Festplatte stirbt, versehentlich Dateien gelöscht werden oder Schadsoftware die Freigabe verändert, können die Daten trotzdem verloren sein.
Deshalb sollte zwischen drei Dingen unterschieden werden:
| Funktion | Was sie bringt |
|---|---|
| NAS | Zentraler Speicher im Netzwerk |
| RAID / Redundanz | Kann Ausfall einzelner Festplatten abfangen |
| Backup | Separate Kopie, aus der verlorene Daten wiederhergestellt werden können |
Für wichtige Daten würde ich deshalb mindestens eine zusätzliche Kopie auf einem anderen Datenträger oder System einplanen.
Dafür eignen sich beispielsweise rsync, BorgBackup oder andere Backup-Lösungen.
Proxmox-NAS funktioniert nicht: typische Fehler
| Problem | Mögliche Ursache | Prüfen |
|---|---|---|
LXC sieht /mnt/nas nicht | Bind-Mount fehlt oder Container wurde nicht neu gestartet | pct config 200 und findmnt |
| LXC kann lesen, aber nicht schreiben | UID/GID-Mapping passt nicht | Besitzer auf Host und IDs im Container vergleichen |
| Samba-Anmeldung klappt nicht | Benutzer nicht für Samba angelegt | smbpasswd -a zebra |
| Freigabe sichtbar, aber nicht beschreibbar | Linux-Dateirechte passen nicht | ls -ln /mnt/nas |
| Samba startet nicht | Fehler in smb.conf | testparm |
| DLNA findet keine Medien | falscher Pfad oder fehlende Leserechte | media_dir und Dateirechte prüfen |
| TV findet DLNA-Server nicht | Multicast/Firewall/Netzsegment | Client und Server im lokalen Netz prüfen |
| Disk nach Neustart nicht gemountet | fstab fehlerhaft | findmnt, UUID und Journal prüfen |
LXC kann nicht auf /mnt/nas schreiben
Das ist bei unprivilegierten Containern der Klassiker.
Im Container:
id zebra
ls -ln /mnt/nas
Auf dem Proxmox-Host:
ls -ln /mnt/nas-disk
pct config 200
So lassen sich die IDs direkt vergleichen.
Samba-Konfiguration prüfen
testparm
systemctl status smbd --no-pager
journalctl -u smbd -n 50 --no-pager
MiniDLNA findet keine Dateien
systemctl status minidlna --no-pager
journalctl -u minidlna -n 50 --no-pager
ls -la /mnt/nas/videos
Der Benutzer minidlna benötigt zumindest Leserechte auf die Medienverzeichnisse.
FAQ: NAS mit Proxmox und LXC
Kann ich ein NAS in einem Proxmox-LXC betreiben?
Ja. Für Samba, NFS, DLNA und ähnliche Dienste reicht ein kleiner Linux-LXC häufig völlig aus. Die Datenfestplatte kann auf dem Proxmox-Host gemountet und als Bind-Mount in den Container eingebunden werden.
Sollte der NAS-LXC privilegiert oder unprivilegiert sein?
Wenn es keinen konkreten technischen Grund dagegen gibt, würde ich einen unprivilegierten LXC bevorzugen. Die Dateirechte bei Bind-Mounts sind etwas aufwendiger, dafür bietet der Container eine bessere Trennung zum Host.
Warum funktioniert chown 1000:1000 bei einem unprivilegierten LXC nicht?
Weil Container-UIDs bei unprivilegierten LXCs auf andere Host-UIDs gemappt werden. UID 1000 im Container entspricht bei einem Standard-Mapping typischerweise nicht UID 1000 auf dem Proxmox-Host.
Brauche ich TrueNAS oder OpenMediaVault?
Nein. Wenn du lediglich einige SMB-Freigaben und eventuell DLNA benötigst, kann ein schlanker Debian-LXC völlig ausreichen. Systeme wie TrueNAS oder OpenMediaVault bieten dafür deutlich umfangreichere Verwaltungs- und Storage-Funktionen.
Kann Windows auf Samba im LXC zugreifen?
Ja. Die Samba-Freigaben erscheinen für Windows wie normale SMB-Netzwerkfreigaben und können über \\IP-Adresse\Freigabe geöffnet beziehungsweise als Netzlaufwerk eingebunden werden.
Ist MiniDLNA dasselbe wie ReadyMedia?
MiniDLNA ist heute auch unter den Namen ReadyMedia beziehungsweise ReadyDLNA bekannt. Unter Debian heißt das Paket weiterhin minidlna.
Kann ich statt ext4 auch ZFS verwenden?
Ja, aber der Aufbau verändert sich dadurch. ZFS bietet zusätzliche Funktionen wie Checksummen, Snapshots und Pools. Für ein einzelnes unkompliziertes Datenlaufwerk ist ext4 dagegen deutlich einfacher.
Ist eine einzelne NAS-Festplatte ein Backup?
Nein. Ein NAS stellt Daten zentral bereit. Ein Backup ist eine zusätzliche, getrennte Kopie der Daten.
Fazit: Ein Proxmox-NAS muss nicht kompliziert sein
Für meine Anforderungen brauche ich auf einem NAS keine riesige Verwaltungsoberfläche.
Eine Festplatte auf dem Proxmox-Host, ein kleiner Debian-LXC und Samba reichen bereits für einen ziemlich vollständigen Dateiserver:
Festplatte
↓
Proxmox
↓
Bind-Mount
↓
Debian-LXC
↓
Samba
↓
PC, Notebook, Server
Mit MiniDLNA beziehungsweise ReadyMedia kommt optional noch ein einfacher Medienserver dazu.
Der einzige Teil, bei dem man etwas genauer hinschauen muss, sind die Rechte eines unprivilegierten LXC. Sobald UID-Mapping und Bind-Mount einmal sauber eingerichtet sind, bleibt der restliche Aufbau erfreulich unspektakulär.
Und genau das gefällt mir an dieser Lösung: kein NAS-Betriebssystem im NAS-Betriebssystem, keine zusätzliche dicke Oberfläche – einfach Linux, ein Mountpoint, Samba und fertig.
Weitere passende Proxmox-Beiträge
Wenn du gerade erst mit deinem Homelab anfängst, findest du in meiner Proxmox-Anleitung die Grundlagen zu VMs, LXCs, Netzwerk und Storage.
Falls deine Sicherungen Probleme machen, findest du außerdem meinen Beitrag Proxmox Backup failed – was tun?.
Und wenn dein Homelab zusätzlich über IPv6 erreichbar sein soll, geht es hier weiter: Proxmox mit IPv6 einrichten.
GrayTheZebra ist Entwickler und Betreiber von prokrastinerd.de mit Fokus auf Smart Home ohne Cloud, ESP32 und MQTT-basierte Systeme. Alle Projekte basieren auf praktischer Umsetzung und eigener Hardwareentwicklung.
Autorprofil und Hintergrund:
Über GrayTheZebra


2 Kommentare zu „NAS mit Proxmox und LXC bauen: Samba, Festplatte & DLNA“