-
-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Suggestion] Add note about potential permissions issues #616
Comments
What is your setup that prevents the move from reading and/or preserving the stats on the copied file?? Ideally, |
Great question! This is my docker-compose volume config
I didn't want to write the cache files onto my NAS with does snapshots every 10 minutes and wastes space on temp files. Write cache files into tmpfs also spares the drives from unnecessary wear. But because of this, |
The copy appears to be partially completed, your NAS isn't letting the software set the times on the copied file.
My best guess is either the mount is enforcing permissions on the client side or an ACL on your NAS needs to be adjusted. Any idea why that might be happening? FYI, I run TubeSync against a TrueNAS system with hourly snapshots, the files in the cache directory don't cause me any issues in my setup. |
Correct, the copy finishes but the script crashes when trying to change the file attributes.
In the mount options it's specified with
Because it works when I set the environment variables |
Samba (cifs/smb3) is single user. By default, only root has access to the mounted files. It makes sense that trying to access them as another user won't work well. You can change the uid/gid for the mount and/or for the container, but you will need them to be matched.
https://manpages.debian.org/unstable/cifs-utils/mount.smb3.8.en.html#uid=arg |
I tried to switch back to the
but this didn't help. For now I'll let the container run as root. |
You didn't show the environment section for your compose service. If I remember correctly, it would need to have variables like this:
Plus, the mount options you have already showed. |
Yeah, but I mentioned that I changed them accordingly (even if I mislabeled them as
This was the culprit! I forgot to remove the volume after changing the mount options docker-compose:
stack.env:
using this config, the problem doesn't appear, even when using a non-root user. |
I'm glad you have it working! Write up the note you prefer in a pull request and I'm sure it will be reviewed. 😀 |
Thanks for the help and the right pointers!
|
Since I've started using tubesync, everything worked but the removal of the files in the
/downloads/cache
directory. But I've noticed these lines in the log:The underlying problem was the
shutil
functionmove
, which called the functioncopy2
which called the functioncopystat
which called the functionlookup
which failed because of "Operation not permitted" and the script execution stopped, without callingos.unlink(src)
, leaving the file in the/cache
folder.Because this error was very annoying to track down, maybe there could be an added section in the documentation, with a note to set the UID/GID for the container so that the moving process can finish completely.
The text was updated successfully, but these errors were encountered: