file sharing in the 21st century



  • in your for statement - why not attempt to copy any data that might exist to the NC location before simply deleting the old folder - I realize there shouldn't be anything there yet, but you never know.



  • @JaredBusch said in file sharing in the 21st century:

    @black3dynamite said in file sharing in the 21st century:

    Its near the bottom of the page that says "Symbolic Link Folder Redirection Script"

    Will read that..

    My script updated, not tested yet.

    $UserName = Read-Host "Enter UserName"
    $CreateNextCloudFolder = Read-Host "Is this a new Nextcloud user Y/N?"
    
    $FolderList = "Desktop,Documents,Downloads,Favorites,Music,Pictures,Videos"
    $FoldderArray = $FolderList.split(",")
    
    ForEach($Folder in $FolderArray) {
        If($CreateNextCloudFolder -like "y") {
            New-Item -ItemType Directory -Path "C:\Users\$UserName\Nextcloud\$Folder" -Force
        }
        Remove-Item -Path "C:\Users\$UserName\$Folder" -Force -Confirm
        New-Item -ItemType Junction -Path "C:\Users\$UserName" -Name "$Folder" -Target "C:\Users\$UserName\Nextcloud\$Folder" -Force
    }
    

    I never thought of using PowerShell native commands to create the Junction point.
    I've been using cmd.exe /c mklink /J within the powershell script to create the them.



  • @black3dynamite said in file sharing in the 21st century:

    @JaredBusch said in file sharing in the 21st century:

    @black3dynamite said in file sharing in the 21st century:

    Its near the bottom of the page that says "Symbolic Link Folder Redirection Script"

    Will read that..

    My script updated, not tested yet.

    $UserName = Read-Host "Enter UserName"
    $CreateNextCloudFolder = Read-Host "Is this a new Nextcloud user Y/N?"
    
    $FolderList = "Desktop,Documents,Downloads,Favorites,Music,Pictures,Videos"
    $FoldderArray = $FolderList.split(",")
    
    ForEach($Folder in $FolderArray) {
        If($CreateNextCloudFolder -like "y") {
            New-Item -ItemType Directory -Path "C:\Users\$UserName\Nextcloud\$Folder" -Force
        }
        Remove-Item -Path "C:\Users\$UserName\$Folder" -Force -Confirm
        New-Item -ItemType Junction -Path "C:\Users\$UserName" -Name "$Folder" -Target "C:\Users\$UserName\Nextcloud\$Folder" -Force
    }
    

    I never thought of using PowerShell native commands to create the Junction point.
    I've been using cmd.exe /c mklink /J within the powershell script to create the them.

    In my PS scripts, I try not to ever include any non-PS.



  • @Obsolesce said in file sharing in the 21st century:

    @black3dynamite said in file sharing in the 21st century:

    @JaredBusch said in file sharing in the 21st century:

    @black3dynamite said in file sharing in the 21st century:

    Its near the bottom of the page that says "Symbolic Link Folder Redirection Script"

    Will read that..

    My script updated, not tested yet.

    $UserName = Read-Host "Enter UserName"
    $CreateNextCloudFolder = Read-Host "Is this a new Nextcloud user Y/N?"
    
    $FolderList = "Desktop,Documents,Downloads,Favorites,Music,Pictures,Videos"
    $FoldderArray = $FolderList.split(",")
    
    ForEach($Folder in $FolderArray) {
        If($CreateNextCloudFolder -like "y") {
            New-Item -ItemType Directory -Path "C:\Users\$UserName\Nextcloud\$Folder" -Force
        }
        Remove-Item -Path "C:\Users\$UserName\$Folder" -Force -Confirm
        New-Item -ItemType Junction -Path "C:\Users\$UserName" -Name "$Folder" -Target "C:\Users\$UserName\Nextcloud\$Folder" -Force
    }
    

    I never thought of using PowerShell native commands to create the Junction point.
    I've been using cmd.exe /c mklink /J within the powershell script to create the them.

    In my PS scripts, I try not to ever include any non-PS.

    Its a habit that I'm working on.



  • thanks for all the responses guys, there has been a lot of good info that I have not thought of.

    @Obsolesce said in file sharing in the 21st century:

    @Donahue said in file sharing in the 21st century:

    I mentioned this in another thread, but I currently have a file server which is a 2012R2 VM sharing roughly 6TB of data. I am looking into replacing this with something more modern, so far I am checking out Nextcloud.

    But having read most of the threads on ML dealing with nextcloud, and especially reading about experiences such as @guyinpv had here and here, I think we need to take a hard look at how we share files now, and why we do it the way we do it, and maybe find other methods and philosophies that we could implement for a better overall experience.

    In a lot of ways, I can relate to @guyinpv, as his setup sounds a lot like mine. We currently have our VM, with a single share that is applied as a mapped drive using GPO. Inside this share is a number of root level folders, basically one for each department. Inside each of these are the typical level of nested subfolders and files. All of the first couple levels of folders from the share root were created by me, and users are locked out of being able to make changes until they are a few layers deep into their department.

    Based on my research and conversations I have had, I think we have a very narrow idea of what a file share should be like, because all we know is how windows operates. As far as we treat the system, there is no one that "owns" any of the files, even though windows records an owner. No one has any sort of personal or private files that they "share" with other users. The files exist in the share that we created, and both users likely have equal permissions to said file.

    I would like to expand my horizons, because I don't feel like I fully understand how other companies might use something like NC. If we are to take full advantage of what NC offers, it may require a fundamental shift in thinking by us and I want to get started on that now.

    How do other people use NC? Specifically, how are folder structures or other structures, and how does that relate to user accounts? What does the anatomy of a cloud based solution look like when done well? I think I would like to use the sync client in windows, but I have only just started to play around with an online demo.

    I think it's best to instead figure out what the business needs and and goals are for file service needs, and then find the appropriate technology to meet those... instead of picking out a cool featurful technology first, and the seeing if you can squeeze the businesses needs into it.

    For me, it's not so much a reason to try and use cool features, its a way to catch up my thinking of how this should be done, instead of sticking to the same old rut. What the business needs is a way to not be penalized so much for having half of my users being forced to access so much stuff across the WAN. Perhaps the issue is sometimes bandwidth, and other times it is simply latency (probably the latter more often), but having a local copy that can sync can take advantage of local speed. Most of our current machines, and everything I will deploy from here on out will have SSD's, probably PCIe M.2's.

    Another need is a way to share files with third parties, which NC can do, and standard file shares cannot.



  • In file sharing, latency typically trumps bandwidth for normal files.



  • @scottalanmiller said in file sharing in the 21st century:

    In file sharing, latency typically trumps bandwidth for normal files.

    Making users wait, is never going to go over well.



  • I think I realized that recently. It makes @JaredBusch's comments about why I needed a 1Gb WAN make more sense. I probably needed improved latency at least as much as more bandwidth. I think I had a lot of extra backend issues that were causing more latency than just network latency too. Resolving those may have been enough, but at this point we have what we have.



  • Back on this topic. With NC, If I want to make this open to the web, what do I need to do? Is it just a matter of registering a domain somewhere, get external DNS to point to it, and then port forward from my router to the NC server?



  • @Donahue said in file sharing in the 21st century:

    Back on this topic. With NC, If I want to make this open to the web, what do I need to do? Is it just a matter of registering a domain somewhere, get external DNS to point to it, and then port forward from my router to the NC server?

    Pretty much. You will need to update the config.php with the domain name, but yeah, that is it.



  • @Donahue said in file sharing in the 21st century:

    Back on this topic. With NC, If I want to make this open to the web, what do I need to do? Is it just a matter of registering a domain somewhere, get external DNS to point to it, and then port forward from my router to the NC server?

    If you don't care about the domain, you can even just use an IP address. Silly, but not technically needed.



  • @scottalanmiller said in file sharing in the 21st century:

    @Donahue said in file sharing in the 21st century:

    Back on this topic. With NC, If I want to make this open to the web, what do I need to do? Is it just a matter of registering a domain somewhere, get external DNS to point to it, and then port forward from my router to the NC server?

    If you don't care about the domain, you can even just use an IP address. Silly, but not technically needed.

    Not to mention that I cannot imagine his company does not own some kind of domain already. So all he has to do is setup DNS.

    I mean we know they are messed up, but I hope not enough that they use gmail or something.



  • @JaredBusch said in file sharing in the 21st century:

    @scottalanmiller said in file sharing in the 21st century:

    @Donahue said in file sharing in the 21st century:

    Back on this topic. With NC, If I want to make this open to the web, what do I need to do? Is it just a matter of registering a domain somewhere, get external DNS to point to it, and then port forward from my router to the NC server?

    If you don't care about the domain, you can even just use an IP address. Silly, but not technically needed.

    Not to mention that I cannot imagine his company does not own some kind of domain already. So all he has to do is setup DNS.

    I mean we know they are messed up, but I hope not enough that they use gmail or something.

    OH, it's amazing how many are....



  • We own gemequipment.com, but I have not been part of that whole deal so I dont know where we stand on that. If you look at our website, it's atrocious. I have no idea where it is hosted or anything. If I setup a domain for NC, I would likely pick something else so as to not mix the two.



  • @Donahue said in file sharing in the 21st century:

    We own gemequipment.com, but I have not been part of that whole deal so I dont know where we stand on that. If you look at our website, it's atrocious. I have no idea where it is hosted or anything. If I setup a domain for NC, I would likely pick something else so as to not mix the two.

    they must have updated the site recently, it's not quite as bad as it was. Still, not my department as of now.



  • @Donahue said in file sharing in the 21st century:

    We own gemequipment.com, but I have not been part of that whole deal so I dont know where we stand on that. If you look at our website, it's atrocious. I have no idea where it is hosted or anything. If I setup a domain for NC, I would likely pick something else so as to not mix the two.

    One has nothing to do with the other though. Assuming your company's name has something to do with gem equipment, why get a whole new domain just for NC?

    You can find out who's hosting your public DNS and ask them to add a record for NC pointing to the IP of your firewall that you're forwarding into your NC box.



  • @Dashrender said in file sharing in the 21st century:

    @Donahue said in file sharing in the 21st century:

    We own gemequipment.com, but I have not been part of that whole deal so I dont know where we stand on that. If you look at our website, it's atrocious. I have no idea where it is hosted or anything. If I setup a domain for NC, I would likely pick something else so as to not mix the two.

    One has nothing to do with the other though. Assuming your company's name has something to do with gem equipment, why get a whole new domain just for NC?

    You can find out who's hosting your public DNS and ask them to add a record for NC pointing to the IP of your firewall that you're forwarding into your NC box.

    nc.domain.com will hit half my Nextcloud instances. The other half are oc.domain.com because they have been around that long and I don't care to update everything.



  • I want to start with a big thanks to @JaredBusch for his guides on NC and Nginx. Now that the basic NC instance is setup, I want to see what I can do with it to improve its functionality or make it's integration with our workflows a more seamless one. Hopefully you guys have some experience with some of these tweaks, or have questions yourself about going beyond the base install.

    The first question I have is about authentication. I think I want to setup LDAP authentication to talk with my AD, but I would also like to setup 2fa, at least for web access. I am really worried that my users have terribly insecure passwords in AD and I don't want to put my files at risk because of this. This is our first "cloud accessible" service if you discount email, and I want to start out on the right foot. Does this plan sound like a good idea, or what would any of you change? Who is using 2fa now with NC, and what do you use for it?

    The second questions is about automating folder creation with NC. I would like to be able to have NC automatically create certain folders for projects, based on sql triggers coming from a external sql database. Is this possible?

    The third question is similar to the second. I would like NC to create a consistent folder structure when a new user is created or when some similar event is triggered. I plan on seeing if I can treat NC like a folder redirection of sorts.

    I am going to take my time and plan out how we would utilize NC, because there is a lot of opportunity to improve things for us.



  • @Donahue said in file sharing in the 21st century:

    The third question is similar to the second. I would like NC to create a consistent folder structure when a new user is created or when some similar event is triggered. I plan on seeing if I can treat NC like a folder redirection of sorts.

    This is interesting. Why do you want this, what's the use case? Since this would be purely for the user's personal files, not shared ones, what's the end goal?



  • @scottalanmiller said in file sharing in the 21st century:

    @Donahue said in file sharing in the 21st century:

    The third question is similar to the second. I would like NC to create a consistent folder structure when a new user is created or when some similar event is triggered. I plan on seeing if I can treat NC like a folder redirection of sorts.

    This is interesting. Why do you want this, what's the use case? Since this would be purely for the user's personal files, not shared ones, what's the end goal?

    I want to sync the desktop and documents folders with NC, and I want to have a place to store personal scans that come off our network scanners. This would save me the hassle of manually creating all these. My goal is to get everything worth keeping onto a central place so it can be backed up at the VM level, and I dont ever have to worry about end points. Right now we tell employees to never keep anything valuable on their own hard drives, but they still do, and I refuse to backup endpoints.



  • Also, what are people's must have NC apps?



  • @Donahue said in file sharing in the 21st century:

    Also, what are people's must have NC apps?

    I use Notes and Talk constantly.



  • Is there a way to point devices on the LAN to the LAN address instead of the external address?



  • @Donahue Internal DNS records are your friend



  • @Donahue said in file sharing in the 21st century:

    Is there a way to point devices on the LAN to the LAN address instead of the external address?

    That's where overloading DNS comes in, or configuring the router to hairpin.



  • @Donahue said in file sharing in the 21st century:

    Is there a way to point devices on the LAN to the LAN address instead of the external address?

    FFS, we just had this conversation in your other thread.

    You use an internal based DNS name. for clients that are only ever in the office.

    This prevernt you from having to add your public domain to your internal DNS.



  • @JaredBusch said in file sharing in the 21st century:

    @Donahue said in file sharing in the 21st century:

    Is there a way to point devices on the LAN to the LAN address instead of the external address?

    FFS, we just had this conversation in your other thread.

    You use an internal based DNS name. for clients that are only ever in the office.

    This prevernt you from having to add your public domain to your internal DNS.

    Sorry, I see this as a slightly different thing. I do have external access now, and I would like users who may be out of the office to prefer internal when available. This is probably not a big deal though, no need to get your panties in a bunch 😉



  • well, I managed to lock my self out of NC, playing around with 2fa. I am unsure how to proceed, and may resort to just starting over.



  • @Donahue said in file sharing in the 21st century:

    well, I managed to lock my self out of NC, playing around with 2fa. I am unsure how to proceed, and may resort to just starting over.

    Already tried disabling 2fa plugin via CLI?



  • @black3dynamite said in file sharing in the 21st century:

    @Donahue said in file sharing in the 21st century:

    well, I managed to lock my self out of NC, playing around with 2fa. I am unsure how to proceed, and may resort to just starting over.

    Already tried disabling 2fa plugin via CLI?

    yes. Apparently I did a backup code, and I cannot disable that.


Log in to reply