Подключить сетевую папку SMB в LXC-контейнере Proxmox можно так: шару монтируют на хосте Proxmox, а затем пробрасывают в контейнер точкой монтирования. Так Jellyfin (или Plex, Nextcloud, qBittorrent) получает доступ к фильмам и сериалам на NAS, диске роутера или компьютере с Windows. Главная сложность — права доступа в непривилегированном контейнере: без правильных uid и gid папка внутри будет пустой, принадлежать nobody или открываться только на чтение.
Инструкция проверена на Proxmox VE 8 и 9 с Jellyfin, установленным скриптом community-scripts. Если Proxmox у вас работает на мини-ПК вместе с роутером, пригодится и статья OpenWrt в Proxmox VE. А как поставить на тот же сервер умный дом, рассказано в статье Home Assistant в Proxmox.
Как работает SMB в LXC-контейнере Proxmox

- Монтировать SMB внутри непривилегированного контейнера нельзя — ядро не разрешает ему монтировать CIFS. Поэтому шару монтирует хост Proxmox, а контейнер получает готовую папку через точку монтирования (bind mount).
- В непривилегированном контейнере идентификаторы сдвинуты на 100000: root контейнера (UID 0) на хосте — это UID 100000, группа с GID 10000 — это GID 110000 (подробнее в вики Proxmox).
- Поэтому хост монтирует шару от имени
uid=100000иgid=110000, а в контейнере создаётся группаlxc_sharesс GID 10000, куда добавляется пользовательjellyfin. Способ описан в известном руководстве на форуме Proxmox и работает для любого числа контейнеров.
Что понадобится
- Общая папка SMB на NAS, роутере или компьютере, её адрес, логин и пароль.
- Доступ к оболочке Proxmox: узел → Оболочка в веб-интерфейсе или SSH.
- LXC-контейнер с Jellyfin. В примерах его ID —
102, замените на свой.
Если Jellyfin ещё не установлен, проще всего создать контейнер скриптом community-scripts — команду выполните в оболочке Proxmox:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/jellyfin.sh)"
Скрипт загружается с GitHub (raw.githubusercontent.com). У части российских провайдеров GitHub открывается с перебоями, и тогда скрипт завершается ошибкой загрузки — в этом случае создайте контейнер Debian или Ubuntu из шаблона Proxmox и установите Jellyfin по официальной инструкции.
Общая папка SMB
Способ зависит от устройства. Главное — чтобы у папки был пользователь с паролем и поддерживался протокол SMB2 или SMB3.
- Роутер с USB-диском (Keenetic, ASUS, TP-Link и другие): включите файловый сервер или «Общий доступ к файлам» (SMB), создайте пользователя и дайте ему доступ к папке.
- NAS (Synology, TrueNAS, OpenMediaVault): создайте общую папку, пользователя и включите SMB. Для Jellyfin достаточно прав на чтение, для Nextcloud или торрент-клиента нужна запись.
- Windows: нажмите правой кнопкой на диск или папку → Свойства → Доступ → Расширенная настройка, отметьте «Открыть общий доступ к этой папке», задайте имя и в разделе Разрешения выдайте права нужному пользователю.


Проверьте доступ с компьютера: в Проводнике откройте \\192.168.1.10\Media (подставьте свой IP и имя папки). В Linux и в fstab тот же путь пишется с прямыми слэшами: //192.168.1.10/Media.
Группа lxc_shares в контейнере
Сначала создайте в контейнере группу с GID 10000 и добавьте в неё пользователя jellyfin. Команды выполняются в оболочке хоста Proxmox:

# на хосте Proxmox; 102 — ID вашего контейнера с Jellyfin (он должен быть запущен)
pct exec 102 -- groupadd -g 10000 lxc_shares
pct exec 102 -- usermod -aG lxc_shares jellyfin
pct shutdown 102
Если к папке нужен доступ другим программам, добавьте в группу и их пользователей: www-data для Nextcloud, debian-transmission для Transmission и т.д.
Монтирование SMB на хосте Proxmox
Установите утилиты CIFS, создайте точку монтирования и файл с логином и паролем:
apt install -y cifs-utils
mkdir -p /mnt/lxc_shares/media
nano /root/.smbcredentials
Содержимое файла /root/.smbcredentials — две строки с вашими логином и паролем от SMB:
username=smb_user
password=smb_password
# domain=WORKGROUP # только если сервер требует домен
Сохраните файл (Ctrl+O, Enter, Ctrl+X) и закройте его от чужих глаз:
chmod 600 /root/.smbcredentials
Теперь добавьте в конец /etc/fstab (nano /etc/fstab) одну строку — замените адрес и имя папки на свои:
//192.168.1.10/Media /mnt/lxc_shares/media cifs _netdev,x-systemd.automount,nofail,noatime,uid=100000,gid=110000,dir_mode=0770,file_mode=0770,credentials=/root/.smbcredentials,iocharset=utf8 0 0
uid=100000,gid=110000— владельцем файлов на хосте будет root контейнера и группаlxc_shares.dir_mode=0770,file_mode=0770— полный доступ владельцу и группе, остальным — никакого. Небезопасные0777не нужны._netdev,x-systemd.automount,nofail— шара монтируется при первом обращении и не мешает загрузке Proxmox, если NAS выключен.iocharset=utf8— корректные русские имена файлов.- Версию протокола указывать не обязательно: клиент сам выберет лучшую (обычно SMB 3.1.1). Если сервер старый, добавьте
vers=3.0илиvers=2.0.
Примените изменения и проверьте результат:
systemctl daemon-reload
mount /mnt/lxc_shares/media
# владелец должен быть 100000 110000, а не root root
ls -ln /mnt/lxc_shares/media | head
Проброс SMB-папки в LXC-контейнер
Добавьте точку монтирования и запустите контейнер. Команда допишет строку mp0 в /etc/pve/lxc/102.conf, редактировать файл вручную не нужно:
pct set 102 -mp0 /mnt/lxc_shares/media,mp=/mnt/media
pct start 102
Убедитесь, что файлы видны и Jellyfin может писать в папку (он сохраняет туда обложки и NFO, если включить эту опцию):
# файлы видны внутри контейнера
pct exec 102 -- ls -la /mnt/media
# пользователь jellyfin может писать в папку
pct exec 102 -- su -s /bin/sh jellyfin -c 'touch /mnt/media/.test && rm /mnt/media/.test && echo OK'

Несколько папок или дисков пробрасываются как mp1, mp2 и т.д. Параметр ro=1 делает папку доступной только для чтения — удобно для музыки или архива:
mp0: /mnt/lxc_shares/media,mp=/mnt/media
mp1: /mnt/lxc_shares/music,mp=/mnt/music,ro=1

В веб-интерфейсе Proxmox такие точки монтирования создать нельзя — раздел Ресурсы → Добавить → Точка монтирования работает только с томами хранилищ, а папки хоста пробрасываются через pct set или конфиг.
Медиатека в Jellyfin
Откройте веб-интерфейс Jellyfin и перейдите в Панель управления → Медиатеки → Добавить медиатеку. Выберите тип содержимого, нажмите «+» у списка папок и укажите /mnt/media (или вложенную папку, например /mnt/media/Movies).

Почему не через «Хранилище → SMB/CIFS» в Proxmox
В Proxmox есть встроенный тип хранилища SMB/CIFS (Центр обработки данных → Хранилище → Добавить → SMB/CIFS). Он монтирует шару в /mnt/pve/<имя>, но от имени root хоста. В непривилегированном контейнере такие файлы будут принадлежать nobody и откроются в лучшем случае только на чтение. Это хранилище хорошо подходит для ISO-образов и резервных копий, а для медиатеки в LXC удобнее способ из этой статьи.
Старый вариант — смонтировать шару через fstab и добавить её в Proxmox как хранилище типа «Каталог» с содержимым «Образ диска» и «Контейнер» — лучше не использовать: Proxmox может разместить на сетевой папке диски ВМ, и при отключении NAS они станут недоступны.
Если не работает
mount error(13): Permission denied— неверный логин или пароль, у пользователя нет прав на папку, либо сервер требует домен (строкаdomain=в файле с паролем).mount error(95): Operation not supported— не совпала версия протокола. Добавьте вfstabvers=3.0, затемvers=2.0. Роутеры, которые умеют только SMB1, лучше обновить: этот протокол устарел и небезопасен.mount error(112): Host is down— неверный IP, SMB на сервере выключен или та же проблема с версией протокола.mount error(2): No such file or directory— неверное имя общей папки. Список папок покажетsmbclient -L.- В контейнере пусто — шара не смонтирована на хосте (
findmnt /mnt/lxc_shares/media) или контейнер запустился раньше, чем смонтировалась шара. Перезапустите контейнер. Если это повторяется после каждой перезагрузки, задайте контейнеру задержку запуска в Параметры → Порядок запуска и отключения. - Файлы принадлежат nobody или нет записи — не указаны
uid=100000,gid=110000, пользователь программы не добавлен в группуlxc_sharesили контейнер не перезапускался после этого. - Вместо русских букв — знаки вопроса — добавьте
iocharset=utf8. - Proxmox долго загружается, когда NAS выключен, — в
fstabне хватает_netdev,x-systemd.automount,nofail.
Команды для диагностики:
# какие шары отдаёт сервер и подходит ли логин
apt install -y smbclient
smbclient -L //192.168.1.10 -U smb_user
# подробная причина ошибки монтирования
dmesg | grep -i cifs | tail
# смонтирована ли папка на хосте
findmnt /mnt/lxc_shares/media
Если Proxmox доступен из интернета, не забудьте про базовую защиту — пригодится памятка по безопасности сервера. Вопросы и свои варианты пишите в комментариях.
Частые вопросы
Почему папка SMB в LXC-контейнере Proxmox пустая?
Скорее всего, шара не смонтирована на хосте или контейнер запустился раньше неё. Проверьте на хосте findmnt /mnt/lxc_shares/media, выполните mount /mnt/lxc_shares/media и перезапустите контейнер.
Почему файлы в контейнере принадлежат nobody и нет прав на запись?
В непривилегированном контейнере UID и GID сдвинуты на 100000. Смонтируйте шару на хосте с uid=100000,gid=110000, создайте в контейнере группу lxc_shares с GID 10000 и добавьте в неё пользователя программы.
Можно ли смонтировать SMB прямо внутри LXC-контейнера?
В непривилегированном — нет, ядро не разрешает ему монтировать CIFS. В привилегированном можно, но такой контейнер менее безопасен. Надёжнее монтировать шару на хосте и пробрасывать через точку монтирования.
Что написать в файле с паролем для SMB?
Две строки: username=ваш_логин и password=ваш_пароль, при необходимости третья domain=WORKGROUP. Затем выполните chmod 600 для этого файла.
Нужны ли логин и пароль, если у папки гостевой доступ?
Для гостевой папки вместо credentials= укажите в fstab опцию guest. Но лучше завести отдельного пользователя: многие современные серверы и Windows блокируют гостевой доступ по SMB2/SMB3.
Как пробросить в контейнер несколько дисков или папок?
Смонтируйте каждую шару на хосте в свою папку и добавьте точки mp1, mp2 и т.д.: pct set 102 -mp1 /mnt/lxc_shares/music,mp=/mnt/music.
Подойдёт ли способ для Plex, Nextcloud или qBittorrent?
Да. Добавьте в группу lxc_shares пользователя нужной программы — например, www-data для Nextcloud — и перезапустите контейнер.
Почему не использовать хранилище SMB/CIFS в интерфейсе Proxmox?
Оно монтирует шару от имени root хоста, поэтому в непривилегированном контейнере файлы будут принадлежать nobody. Такое хранилище удобно для ISO и резервных копий, а для медиатеки лучше монтирование через fstab с uid и gid.









Добрый день. Подскажите, пожалуйста, нужны ли логин и пароль если права доступа к папке 777 и поступить в этом случае?
да, обязательно нужны. И права доступа 777 при монтировании также необходимо прописать.
Спасибо, пробросил диск подключённый к роутеру в nextcloud. Только не получается из некста загружать файлы на него. Ругается на доступ. Ошибка модуля контроля доступа.
Нужно дописать права доступа для монтируемой директории в файле /etc/fstab
Добавив file_mode=0777,dir_mode=0777 0 0
к \\192.168.0.1\Disk1\Movies /media/share cifs credentials=/root/.smb,users,rw,vers=3.0,iocharset=utf8
Получится так: \\192.168.0.1\Disk1\Movies /media/share cifs credentials=/root/.smb,users,rw,vers=3.0,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
Поправил инструкцию.
Приветствую, мне кажется тут чего-то не хватает:
nano ~/.smb
Отредактируйте и добавьте в файл следующие строки. Измените smb_username и smb_password на имя пользователя и пароль вашего общего ресурса SMB.
Полностью согласен. У меня там тоже пусто
Просто добавьте строки в файл:
username=smb_username
password=smb_password
Где smb_username и smb_password ваши имя пользователя и пароль для доступа к шаре.
Причина в правах непривилегированного контейнера: шара была смонтирована от root хоста, и Nextcloud (пользователь www-data) видит её как nobody без права записи. Я переписал статью: смонтируйте шару на хосте с опциями uid=100000,gid=110000,dir_mode=0770,file_mode=0770, создайте в контейнере группу lxc_shares с GID 10000, добавьте в неё www-data (usermod -aG lxc_shares www-data) и перезапустите контейнер — после этого запись заработает.
Здравствуйте, а можно добавить скрин как должен выглядеть файл .smb?
Спасибо за замечание — содержимое файла при переносе статьи потерялось. Исправил инструкцию: файл с паролем (теперь /root/.smbcredentials) содержит две строки — username=ваш_логин и password=ваш_пароль. После сохранения выполните chmod 600 /root/.smbcredentials.
Вообще такие уроки записывают для новичков, но как обычно оно работает но не у всех. Это само бесячее в линукс системах.
Ты идешь по уроку но потом просто ничего не работает и ты начинаешь курить новый мануал. есть ощущение, что этот конструктор всегда собирается по разному.
Файл .smb должен содержать 2 строки следующего характера:
username=smb_username
password=smb_password
Вы правы: в прошлой версии статьи потерялись содержимое файла с паролем и слэши в пути к шаре, поэтому инструкция работала не у всех. Я полностью её переписал, учёл права в непривилегированном контейнере и добавил раздел «Если не работает» с типичными ошибками и командами для диагностики. Если что-то не получится — напишите, какую ошибку выдаёт mount или что показывает ls -ln /mnt/lxc_shares/media, разберёмся.