💡 [REQUEST] - Path configurations for prebuild binaries (dockerless)
Checks
- [X] I have searched the existing issue and my feature request does not exist!
- [X] I have tried out the latest development build and can confirm my feature request is not yet implemented!
Describe the feature
This is both feature as bug, I believe. I have been looking into prebuild binaries/executables for PlexRipper, So Dockerless and so far so good but we have to change a few things to both the server side as the frontend side.
Currently the file paths on the WebAPI are pretty hard coded while we need some flexibility as we cannot setup directories like /Movies and /Downloads to the operating system root in prebuild binaries. I already did some work in my fork on changing this, it works, PR was made but we should think it through and test properly. #265
The bug / missing feature While testing my prebuild binary's I noticed that I am not able to change the folders paths during setup in the UI. I also cannot type in this field and has to use this directory browser widget. When I select a folder using the widget, a js error is thrown and the field is not updated.
I need to be able to change the paths from within the UI. It would also make sense to have the frontend App ask the WebApi side for the configured root directory and use that by default instead of "/".
I can provide instruction on how to build prebuild binaries, though it's very early. I can also provide them by zip file.
TypeError: Cannot read properties of undefined (reading 'folderPaths')
at Zp.fn (entry.09f67bbd.js:1029:17324)
at Zp.run (entry.09f67bbd.js:1:4875)
at get value [as value] (entry.09f67bbd.js:1:13426)
at Object.get (entry.09f67bbd.js:1:7333)
at d (FolderPathsOverview.vue.797df7c7.js:1:4904)
at To (entry.09f67bbd.js:1:13609)
at er (entry.09f67bbd.js:1:13688)
at hT (entry.09f67bbd.js:1:15671)
at L (DirectoryBrowser.vue.55832db6.js:1:2006)
at i.onClick.m.<computed>.m.<computed> (DirectoryBrowser.vue.55832db6.js:1:3624)
Additional information
- [X] Would you be willing to help implement this feature?
- [X] Does this feature have a potential to break existing features?
Tasks TODO
- [ ] #268
- [ ] Let the back-end decide on the root folder in which to navigate
I need to be able to change the paths from within the UI. It would also make sense to have the frontend App ask the WebApi side for the configured root directory and use that by default instead of "/".
Yes! Good idea! I'm going to assume the "configured root directory" is different for each platform and make it come from the back-end.
Let's say /mnt/ is the root directoy for Linux, should all paths be mounted/bind in that /mnt/ directory? And therefore, the directory browser should not navigate outside of that directory?
I am also fixing the Github project and will make some tasks about this there to keep track of this :+1:
Yes, I think it would be good for the WebApp to rely more on the back-end for initially seting up paths and I think it would be safest for PlexRipper to not go outside this "root" since in a Docker environment, we can mount/bind these folders wherever we want anyway and in a non-docker environment, we have to follow the OS best practices. And I think we should really do a little investigating on that.
Small update. After changing the paths in the SQLite database manually, all works fine. This is a prebuild executable for OSX. In this case, the rootDirectory is taken from the $HOME environment variable, it uses the PR I submitted.
Awesome! I think I'm nearly done exploring this repo. I have POC's for multi-arch images, POC's for executables on various platforms (dockerless) so we can look into something of a roadmap soon.
Cool stuff!
Very cool stuff! I will start working on the tasks tommorrow!