Everything posted by zapbranagann
-
[Plugin] Custom SMB Shares
Which version of Unraid are you running? I can't reproduce this on my end, this is truly a head-scratcher for me 😅 @Frank1940 (or anyone else in the thread), would you be able to try this out to see if you can reproduce this? @Squid do you have any ideas what would cause the symptoms @JHopple is reporting?
-
[Plugin] Custom SMB Shares
I will look into it, I'm not super familiar with the Recycle Bin Plugin
-
[Plugin] Custom SMB Shares
I can't reproduce that on my end, and there is nothing in the code that calls unraid shutdown, it's likely that something else resulted in a shutdown that also interrupted the settings update. Try doing the settings change again, also you might have to do a hard refresh in the browser for the top menu bar link to disappear but I just double checked on my unraid install and the setting persists and after I refresh the main page the SMBShares link is no longer in the top menubar.
-
[Plugin] Custom SMB Shares
@comet424 — thanks for the detailed re-test! Just shipped v2026.05.18b (https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.05.18b (https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.05.18b)) — please force the plugin to update (Plugins → Check for Updates) and try again. Two of the items on your list: 1. Path change on Edit not enabling Apply — confirmed real bug, fixed in v2026.05.18b. Root cause: Unraid's form-tracking watches change/input events on form fields to know when to enable the Apply button. The Browse path picker was setting the path field via $.val() which doesn't fire those events naturally — typing in name/comment does, which is why that worked. Now mirrors the Docker plugin pattern (fires a change event after .val()), so picking a folder enables Apply just like typing. 2. Import from File not working — could you double-check what version you see in the page header (SMB Shares vX.X.X at the top of the shares list)? On my end, v2026.05.18a's Import from File is verified working end-to-end (regression test injects a synthetic JSON file, asserts shares.json on disk is actually replaced with the imported shares — passes). If you're seeing the success toast but the import doesn't take, check (a) the page header version, and (b) whether the .json file you're importing has a top-level array of share objects (not wrapped in another object). After updating to v2026.05.18b, do a hard-refresh (Ctrl+Shift+R / Cmd+Shift+R) to bust the JS cache before testing. 3. & 4. First-row delete + Restore — glad those are working for you. On nested shares ("users/<username>"): SMB itself can't directly nest shares — each [ShareName] is a flat export. But you can get effectively the same UX by using a single share with valid users = %S (Samba magic that means "the share-name == the user"): [users] path = /mnt/user/family files/%U valid users = %U force user = %U create mask = 0640 directory mask = 0750 User alice connecting to \\server\users would land in /mnt/user/family files/alice with only their own files visible, and bob similarly. That's effectively the per-user nested behavior you described, but in a single share definition. (Active Directory uses similar template substitutions — %U / %G / %S are the Samba equivalent.) Your two-server setup with sftpgo absolutely works too; this is just an alternative if you want to consolidate. Cheers, and thanks again for the thorough testing.
-
New Plugin Request. Custom NFS shares...
Hey @bmartino1, I replied via PM but I'll mention it here as well, I'll use your skeleton as a base and roll out a NFS version as well as a separate plugin.
-
[Plugin] Custom SMB Shares
@comet424 — thanks for the great reports! All four issues fixed in v2026.05.18: https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.05.18 (https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.05.18) 1. Import (file + paste) now works. 2. Restore actually restores and reloads Samba — no more "failed to restore" or invisible result. 3. The "deletes 1 share at the bottom" wasn't deleting shares — it was the backup list shrinking each time. That side-effect is gone now (and restores succeed, so it stops happening anyway). 4. First-row delete glitch was caused by stray invisible characters in that share's name. Fixed, plus the plugin now auto-cleans those on read so it shouldn't come back even from older backups. Bonus fix: picking a folder via Browse on the Edit page used to silently rename your share — that's gone too. If you can still reproduce "Save doesn't engage when I only change the path" after updating, let me know — I want to make sure that's actually fixed and not something separate. Thanks again for the careful diagnosis — really helpful. Update: shipped v2026.05.18a a few minutes after the initial release — turns out "Import from File" was a silent no-op due to a separate modal-handling bug. Both file and paste imports work now.
-
[Plugin] Custom SMB Shares
Thanks for the report, I'll take a look and fix those bugs
-
[Plugin] Custom SMB Shares
I'll take a look, some of my other changes might have broken this. Are you on the latest plug-in version from CA? @benfishbus I've published a new release that allows shares to be renamed.
-
[Plugin] Custom SMB Shares
Thanks I've merged it in.
-
[Plugin] Custom SMB Shares
Hey bmartino1 thanks for the feedback! I've updated the plugin to allow you to paste paths in so you aren't restricted to click only browsing. I also checked the current plugin code and I don't see how it could erase/overwrite your existing smb-extra file, however the older versions of the plugin did do that and there was a left over script 'generate-config.sh' which I've removed. Would you be able to check if the problem is still happening with the latest version? If so, I'll need some more details so I can reproduce it and come up with a fix.
-
[Plugin] Custom SMB Shares
I filled out the form a few weeks back but I haven't heard back, I'll have to review the plugin publishing docs to see if there is something else I need to do (perhaps some debugging since it's now a semi-automated process).
-
[Plugin] Custom SMB Shares
Oh okay I misunderstood, currently the plugin doesn't create the share folder so unless samba service would this shouldn't happen. I'll double check to confirm what happens if you specify a non-existent path (I think I put error checking in).
-
[Plugin] Custom SMB Shares
Interesting 🤔 can you explain a use-case for this? For a folder directly under /mnt/ I assume it would be controlled by unraid's shares but it might be possible to create it. Not sure how unraid's custom filesystem layer (she's) interacts with /mnt/.
-
[Plugin] Custom SMB Shares
It shouldn't be too hard to implement that, I'll check how it's done in those other components. [EDIT] I've added the File Browser link in v2026.02.10. You'll now see a browse icon next to each share's path that opens Unraid's built-in File Browser.
-
[Plugin] Custom SMB Shares
I'm glad to hear it worked, the only idea I had left was perhaps there was a issue involving whitespace/case/typo, I don't think testparm validates that the force user/group exist. I've pushed a new release which changed to drop-down fields for force user and force group to help remove potential errors/typos/etc. It now populates the valid users and groups from unraid (including system accounts) so it should work the same as the text input field without restricting what can be entered.
-
[Plugin] Custom SMB Shares
[EDIT] I just thought to clarify, I believe force user will only apply to file/folders created after the config is set, I assume that's what you meant by "newly written" but I figured it wouldn't hurt to confirm. [/EDIT] So when I test locally, it seems to work for me. The force user and force group get written directly into the Samba configuration, can you check using the terminal/shell the configuration that's being generated? The file /boot/config/plugins/custom.smb.shares/smb-custom.conf is the plugin's generated Samba config (included by main smb.conf). To check the actual Samba config being used: cat /boot/config/plugins/custom.smb.shares/smb-custom.conf And to verify whether it's being included properly: grep -i "include.*custom" /etc/samba/smb.conf You should see a list of shares each with the following format: [books] path = /mnt/user/data/media/books comment = Books browseable = yes vfs objects = catia fruit streams_xattr guest ok = yes read only = no force user = zapbranagann force group = users create mask = 0664 directory mask = 0775 hide dot files = yesDo your shares have the correct force user fields set? If so, that's the limit of what the plugin can do right now, and there might be something else interfering with the samba force user config.
-
[Plugin] Custom SMB Shares
Thanks for the thorough testing, I'll take a look to see why it's not picking up that config change.
-
[Plugin] Custom SMB Shares
I wanted to get some early feedback first before publishing to community applications. I can check with Squid to see if there are any other requirements to publish.
-
Creating shares within existing share's directory structures in the array - subtle issue?
Hey, I created a plugin to allow for custom samba shares, I think this might work for your use-case. https://forums.unraid.net/topic/195826-plugin-custom-smb-shares/
-
[Plugin] Custom SMB Shares
Updated the plugin v2026.01.19 should fix the issue with user access permissions not enabling the "Apply" button.
-
[Plugin] Custom SMB Shares
Thanks I'll take a look and fix.
-
[Plugin] Custom SMB Shares
Changelog (newest to oldest): v2026.06.18 is now live: - GitHub Release: https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.06.18 (https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.06.18) Quick follow-up to the menu-placement feature from v2026.06.17. - Fixed: Changing "Show in top menu bar" and clicking Apply now updates the top navigation right away. Previously the SMB Shares tab would stick around until you did a manual browser hard refresh (Ctrl+Shift+R). To be clear, the setting itself always saved correctly — this was only the Unraid menu not redrawing. Toggling it now forces the menu to rebuild on the spot. - Improved: 6 new regression tests pin the menu-refresh behavior so it can't sneak back. v2026.06.17 is now live: - GitHub Release: https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.06.17 (https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.06.17) Two community-requested features — thanks dc911x and johnoldiges! - Added: Configurable menu placement (thanks dc911x). A new "Show in top menu bar" setting lets you keep SMB Shares as a tab in the top navigation bar (the default — nothing changes for existing installs) or move it down to Settings then User Utilities, like most plugins. - Added: Option to allow share paths outside /mnt (thanks johnoldiges). A new opt-in setting (off by default) lets you point a share at a path like /tmp. System directories (/boot, /etc, /var, and friends) stay blocked even when it's enabled, and the check follows symlinks so they can't be used to sneak around the block. - Improved: 22 new automated tests covering both features (all passing). v2026.05.18b is now live: - GitHub Release: https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.05.18b (https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.05.18b) Bug fix release based on follow-up testing from comet424 — thanks again! - Fixed: Picking a folder via the Browse button on the Edit page now properly enables the Apply button. Previously the path field updated visually but Apply stayed disabled until you also typed something into the share name or comment field. Root cause: Unraid's form-state tracking watches change/input events to know when to enable Apply, and the Browse picker was setting the path silently via $.val() (which doesn't fire those events). Now mirrors the Docker plugin pattern by firing a change event after the picker updates the path. Typing a path manually still works as before. - Improved: 2 new E2E regression tests pin the change-event behavior on both Add and Edit pages so this doesn't regress (now 442 tests, all passing). v2026.05.18a is now live: - GitHub Release: https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.05.18a (https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.05.18a) Changes in this release (patch on top of v2026.05.18): - Fixed: Import from File now actually imports the selected file. Previously it was a silent no-op — the modal would disappear with no notification because of a SweetAlert quirk during file picker interaction. v2026.05.18 is now live: - GitHub Release: https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.05.18 (https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.05.18) Bug fix release based on detailed reports from comet424 — thank you! - Fixed: Import Config (file + paste) now works. Was silently 400-ing because the server was reading the request body wrong. You'll also now get a proper error message if anything goes wrong. - Fixed: Restore from backup actually restores AND reloads Samba. Previously it updated shares.json but Samba kept serving the old config — appeared to "do nothing." Now also surfaces a real error message if a restore fails (instead of generic "Failed to restore"), and won't trash your backup retention on failed retries. - Fixed: First-row Delete/Clone failing on shares whose names had stray whitespace or invisible characters. Added auto-cleanup so the bug can't come back even if you restore from an older "dirty" backup. - Fixed: Picking a path via Browse on the Edit page no longer silently renames your share to the folder name (regression from the v2026.04.06 rename feature). - Improved: 24 new automated tests + 2 new E2E tests covering these specific bugs (440 tests total, all passing). v2026.04.06 is now live: - GitHub Release: https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.04.06 (https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.04.06) Changes in this release: - You can now rename shares from the Edit page — the share name field is editable (thanks benfishbus for reporting!) - Added duplicate name check when renaming — prevents accidentally overwriting another share's name - Fixed submit button not resetting after validation errors v2026.04.01d: - GitHub Release: https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.04.01d (https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.04.01d) Changes in this release: - Share name validation now allows all valid SMB characters (spaces, dots, accents, etc.) — only truly forbidden characters are blocked: [ ] " / \ : ; | < > , ? * = (thanks Squid for the PR!) - Path input is now editable — you can type or paste paths directly instead of click-only browsing - Browse button still available for directory selection - FileTree dropdown no longer stretches across the full form width - Removed unused legacy script (generate-config.sh) - Added E2E tests to CI pipeline - Plugin is now available in Community Applications! 🎉 v2026.02.10: - GitHub Release: https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.02.10 (https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.02.10) - Added a File Browser link — browse icon next to each share's path opens Unraid's built-in File Browser v2026.01.20: - GitHub Release: https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.01.20 (https://github.com/cslemieux/unraid-custom-smb-shares/releases/tag/v2026.01.20) - Force user/group fields changed from text inputs to dropdowns - Only valid system users/groups are selectable (prevents config errors) - Default is now "None" (use connecting user) instead of hardcoded nobody/users - Auto-expand Advanced View when editing shares with advanced settings configured v2026.01.19: - Fixed user access permissions not enabling the "Apply" button
-
[Plugin] Custom SMB Shares
What is it? This is a plugin to let you create SMB shares for any folder on your server - including sub-folders within existing shares. Install via Community Applications or manually: https://raw.githubusercontent.com/cslemieux/unraid-custom-smb-shares/main/custom.smb.shares.plg Why? I followed the TRaSH Guides folder structure to set up hardlinks for my *arr apps. The structure looks like: /mnt/user/data/ ├── torrents/ ├── usenet/ └── media/ ├── movies/ ├── tv/ └── music/Problem is, Unraid only lets you share top-level folders. I wanted to share /mnt/user/data/media/movies/ directly without exposing everything else. This plugin does that. Features - Create shares for any folder under /mnt/ - Enable/disable without deleting - Clone shares - Import/export as JSON - Security modes (Public/Secure/Private) - User/group access control - macOS + Time Machine support - Path browser for easy folder selection - Host allow/deny lists Notes - Shares are managed separately from Unraid's built-in shares - Uses your existing system users for access control - Automatically reloads Samba after changes Source GitHub: https://github.com/cslemieux/unraid-custom-smb-shares Let me know if you run into any issues!