kelinger / OmniStream

Deployment and management tools for an entire streaming platform that can reside on a server (local, remote, hosted, VPS) with media files stored on cloud services like Google Drive or Dropbox.
MIT License
30 stars 8 forks source link

Is it possible to use the Media (Omnimount) as a functional external storage in NextCloud? #33

Closed Misterobots closed 1 year ago

Misterobots commented 1 year ago

Hi All! While setting up NextCloud, from the Omni Components, I was able to connect the Media (the Omnimount mount point) as an external storage location. After some time I can see the contents without issue, but I am unable to create files/folders within "Media". NextCloud gives the "Could Note Create Folder.." message. I realize this may be a NextCloud issue, but I wanted to check here first as there are so many "moving pieces" and Omnimount being a developed implementation by @kelinger.

Thanks again for all of the assistance and friendly patience!

kelinger commented 1 year ago

@Misterobots - Thank you for trying out OmniStream! I'm not currently running NextCloud but have run it in the past. Give me a bit to get it setup again so I can test.

I do remember, though, that getting it to share my Google drive (mounted locally, of course) took a bit of playing around the last time I used NextCloud. While I'm preparing a test environment, can you confirm that you are mapping the "target" of OmniMount (essentially, the locally cached read-write directory) and not the raw cloud directory?

Misterobots commented 1 year ago

@kelinger Thanks so much for the assistance! The "target" would be whatever ${MEDIA} is, correct? If that's not the case? Could you point me in the correct direction? I very much appreciate the help.

kelinger commented 1 year ago

@Misterobots - The problem is that OmniMount is using a "umask" setting of 002 which makes the mount read/write for the Docker container's main user but other users in the container only have read permission. NextCloud runs as root, but the web service (www-data) is actually creating/accessing the files.

I changed this and posted a new OmniMount that allows read-write from anywhere. This really isn't that much of a security hole because it's the basic idea of this project. I've also tested it and verified that this works. Just run either omni update to get the updates and restart your containers.

[ you can end reading here but I'm also putting the setup instructions for NextCloud below for you or anyone else who wants to see how to get a quick NextCloud instance running ]

The assumption is that everything is set up using the defaults. (@TechPerplexed - possible documentation item since this is a bit beyond the "normal" turnkey setup of most other containers)

To install, I enabled 403-nextcloud.yaml, 422-mariadb.yaml, and 425-redis.yaml o+ 403-nextcloud.yaml 422-mariadb.yaml 425-redis.yaml

Bring up OmniStream omni up

I waited a minute for the housekeeping and then I went to https://nextcloud.mydomain.com.

I created an admin account in NextCloud and used the default MariaDB credentials (root / secret123; servername = "mariadb")

Once the system was set up and I was logged in, I went to the profile menu (user icon at the top right) and chose the "+Apps" menu. There, I added and then enabled "external storage."

I now have a menu item under "administration" on the left called "External Storage." After clicking that, I'm taken to--go figure--the setup for external storage.

I created a share called "Cloud" with the following settings, left to right:

Then I clicked the checkmark on the right to apply it.

I now have my entire cloud mount available, read and write, via the NextCloud file browser. Since I created this under the admin section, this should now be available for any users on my system.

Misterobots commented 1 year ago

EUREKA! Read/Write is working successfully after update! Thank you so much @kelinger! Loving OmniStream more and more, especially with the fantastic support!

kelinger commented 1 year ago

Glad to hear it! Let us know if you run into any other issues.