githubModifier

Creer partage LXC - Permissions 1000

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


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

2.1 Sur l’hôte Proxmox (PVE)

Vérification :


2.2 Dans chaque conteneur LXC


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


4. Bind mount du dossier dans un conteneur LXC

Dans le conteneur :


5. Vérification des droits


6. Utilisation avec Docker

Exemple Docker Compose

Règles :

  • Toujours utiliser des chemins absolus

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


7. Partage avec plusieurs LXC

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


8. Dépannage

Dossier vu en nobody:nogroup

  • Vérifier lxc.idmap

  • Vérifier UID/GID 1000

Impossible de chown dans le conteneur

Corriger depuis l’hôte :


9. Bonnes pratiques

  • Un seul UID technique (1000)

  • Pas de conteneur privileged

  • Pas de chmod 777

  • Toujours tester avec l’utilisateur partage


Résumé

Configuration stable, lisible et maintenable pour un homelab Proxmox multi-conteneurs.