githubModifier

proxmox_lxc_partage_uid1000

Objectif

Mettre en place un partage de dossiers fiable entre :

  • l’hôte Proxmox (PVE)

  • plusieurs conteneurs LXC

  • des services Docker (Syncthing, Paperless, etc.)

en utilisant un utilisateur et un groupe communs nommés partage, avec :

  • UID = 1000

  • GID = 1000

Ce modèle évite :

  • les nobody:nogroup

  • les chmod 777

  • les comportements incohérents entre conteneurs

circle-info

Principe général :

  • Tous les fichiers partagés appartiennent à 1000:1000

  • Chaque machine (PVE, LXC) possède un user + group partage

  • Les conteneurs LXC sont unprivileged

  • Les conteneurs LXC utilisent un idmap cohérent

  • Docker utilise PUID=1000 et PGID=1000

1

Configuration des conteneurs LXC (idmap)

Sur l’hôte Proxmox, dans /etc/pve/lxc/<CTID>.conf :

Redémarrer le conteneur :

2

Création de l’utilisateur et du groupe partage — sur l’hôte Proxmox (PVE)

Vérification :

3

Création de l’utilisateur et du groupe partage — dans chaque conteneur LXC

4

Création d’un dossier partagé sur l’hôte

5

Bind mount du dossier dans un conteneur LXC

Sur l’hôte Proxmox :

Dans le conteneur, vérifier :

6

Vérification des droits

Tester en tant qu’utilisateur partage dans le conteneur :

7

Utilisation avec Docker

Exemple d’extrait Docker Compose :

Règles :

  • Toujours utiliser des chemins absolus

  • Les dossiers montés doivent exister avant docker compose up

8

Partage avec plusieurs LXC

Même dossier hôte, même UID/GID, même idmap.

Ajouter le bind mount sur un autre conteneur :

9

Dépannage

chevron-rightDossier vu en nobody:nogrouphashtag
  • Vérifier lxc.idmap

  • Vérifier que l’utilisateur/groupe partage a bien UID/GID 1000 sur l’hôte et dans le conteneur

chevron-rightImpossible de chown dans le conteneurhashtag

Corriger depuis l’hôte :

10

Bonnes pratiques

  • Un seul UID technique (1000)

  • Pas de conteneur privileged

  • Pas de chmod 777

  • Toujours tester avec l’utilisateur partage

11

Résumé

Configuration stable, lisible et maintenable pour un homelab Proxmox multi-conteneurs en s’appuyant sur :

  • un utilisateur/groupe partage en 1000:1000 partout

  • des conteneurs LXC unprivileged avec idmap cohérent

  • Docker configuré avec PUID/PGID = 1000