this post was submitted on 26 Sep 2023
32 points (100.0% liked)

Selfhosted

40653 readers
133 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

Is there an app I can self-host that will let users upload stuff to my server? I need something where I can send a link to someone, and they can upload files & folders to my server (it doesn't matter much to me where, as long as I can transfer them out to wherever I need later).

For example, I'm working to archive my parents' family photos which right now live on a bunch of external HDDs. I need a way for my (non-technical) father to be able to upload a folder with potentially 10k plus files to my server. Because of his poor internet reliability, and the potentially large size, I need something that has resumability (so that if it fails, it can pick up where it left off and not re-start from scratch)

Security-wise, it would be nice to be able to only have uploads work when I send a link. Other than that, I'm not worried about malicious uploads or anything.

Does anyone have any recommendations for this? (Or, if nothing exists, would folks find this useful? I might end up making it if I can't find it)

top 29 comments
sorted by: hot top controversial new old
[–] blackstrat@lemmy.fwgx.uk 17 points 1 year ago

Sounds like you could use an old fashioned FTP server

[–] toma@lemmy.omat.nl 17 points 1 year ago

There is NextCloud. It has the possibility to create an upload link where people can upload stuff. We use it daily to receive stuff from our customers.

If you need the resuming part, you would be better off giving them a NextCloud account and share a folder. Their NextCloud app will sync it in the background and resume automatically.

[–] entropicshart@sh.itjust.works 7 points 1 year ago (1 children)

Take a look at NextCloud - very easy to host and has great user management and sharing.

There are also a good amount of apps that are one click integration if you need to expand on functionality.

[–] nopersonalspace@lemmy.world 6 points 1 year ago (3 children)

Thanks! I already use NextCloud and quite like it! Hover, I find their file upload feature to be lacking for this use-case. Sadly, it crashes/freezes the browser when I try to upload a folder with a lot of files (which is the main thing I'll need to do with this)

[–] Strit@lemmy.linuxuserspace.show 9 points 1 year ago (1 children)

Maybe install the nextcloud client on his PC and have him copy over the files there. The Nextcloud client has sync and resume functionality and you don't have to watch it like a hawk. It just does it's thing in the background.

[–] nopersonalspace@lemmy.world 7 points 1 year ago (1 children)

Huh yeah that's not a bad idea. I actually sort of dislike the nextcloud client normally (as I'd prefer it to not actually download the remote files, but act like a virtual filesystem). But in this case, it might actually work...

[–] uninvitedguest@lemmy.ca 1 points 1 year ago (1 children)

It acts as a virtual file system on Windows.

[–] nopersonalspace@lemmy.world 1 points 1 year ago (1 children)

Oh, didn’t know that. Sadly I’m only on Mac & Linux

[–] uninvitedguest@lemmy.ca 1 points 1 year ago (1 children)

I believe it is able to do so on Windows because it uses the same system that OneDrive does, and is baked in to the OS. Not sure what the excuses are on MacOS and Linux.

But if you're using Dolphin or Nautilus on Linux, does setting up a WebDAV network location not meet your needs?

[–] nopersonalspace@lemmy.world 2 points 1 year ago

That would work fine for linux, but the folks who need to upload stuff to me server can't do that. They're running Macos which doesn't really support webdav well (and SMB is a mess too), plus they're on an external network and I don't want to have to get them on my VPN

[–] entropicshart@sh.itjust.works 3 points 1 year ago (1 children)

If you’re doing the uploads yourself, the fastest solution for large files (e.g. compress into a tar/7z) will be rsync.

It requires minimal setup (ssh or vpn connection) and uses chunk transfer which is typically faster and can be resumed in event of connection failures

[–] nopersonalspace@lemmy.world 4 points 1 year ago

I love rsync, and also have been using croc a lot recently for similar stuff. It's not really feasible for non-technical users who don't even want to think about using a terminal though.

[–] ares35@kbin.social 1 points 1 year ago

browser-based 'clients' with large directories and large numbers of files in a single multi-file upload are going to choke. you need binary bits on the parents' end, such as a dedicated backup or sync utility.

if you could populate your server with their existing files using a physical drive, that would be better, and perhaps faster and easier, too--then a browser-based upload solution could probably handle the much smaller 'updates' of new stuff. have them consolidate all the existing files on one external (plus also on a second for a local backup). hell, you could do that bit via remote desktop and all they'd need to do is connect the drives and let you in. then somehow get one of those drives to you (ship, deliver, you pick up. whatever is feasible).

[–] machinin@lemmy.world 7 points 1 year ago (1 children)

Would Syncthing work for you?

[–] nopersonalspace@lemmy.world 5 points 1 year ago (2 children)

It's not really the workflow I was imagining for this, but it might actually not be a bad idea. It might be a bit weird to use, but if I setup a "drop folder" on his machine that he could plop folders/files into then maybe it could work. Thanks!

[–] tvcvt@lemmy.ml 2 points 1 year ago (1 children)

Do you want the entirety of a directory system uploaded? If that’s the case you could use syncthing to just share the source directory. Then your dad wouldn’t have to move anything. Add in something like Tailscale or ZeroTier and you could control all the syncthing settings from the webui.

[–] nopersonalspace@lemmy.world 1 points 1 year ago (1 children)

Yeah, I'm doing a test-run rn with syncthing and finding it pretty slow. Not sure why but it's downloading files at like 100Kbps even though I know the upload speed of the network is much higher. I don't have any bandwidth limits setup in syncthing so I don't think that's why...

[–] tvcvt@lemmy.ml 2 points 1 year ago

That’s a bummer. Might be worth running an iperf test between your machine and your dad’s just to get a baseline speed. Could be something in between your two networks is routing slowly.

[–] machinin@lemmy.world 0 points 1 year ago

Glad to help 👍

[–] MangoPenguin@lemmy.blahaj.zone 5 points 1 year ago* (last edited 1 year ago)

Filebrowser, it's a basic web interface you can drag files into.

But if he needs to upload a lot of files like 10k plus, then that's not going to work well. Instead Syncthing would be the best option. It will automatically handle resuming uploads, and you can set a bandwidth limit so it doesn't cause bufferbloat from upload saturation.

[–] Feliberto@programming.dev 4 points 1 year ago

I use pingvin to share files for non technical ppl, but i don't think it's made for your case.

Maybe syncthing would work.

[–] thirdBreakfast@lemmy.world 3 points 1 year ago

When I've had need of collecting files from someone, I've normally thrown up a FileBrowser instance. Pretty sure it's not resume-able though.

[–] nutshell7827@lemmy.world 2 points 1 year ago

Try out sharry. Sharry is a self-hosted file sharing web application.

It works pretty well for my use cases. I also like the alias feature, what is pretty much what you are searching for. The only thing I miss, is the possibility to download a share as a zip folder. But there is an open issue for it, so maybe it will be added in future (again).

[–] Gutless2615@ttrpg.network 2 points 1 year ago

Down this way there be dragons.

[–] SheeEttin@lemmy.world 1 points 1 year ago

I would just use a backup tool to get everything on the computer.

[–] hyperspace@kbin.social 1 points 1 year ago (1 children)
[–] nopersonalspace@lemmy.world 1 points 1 year ago (2 children)

Transfer.sh seems cool enough, but I'd rather avoid having to coach non-technical folks on how to use the command line

[–] hyperspace@kbin.social 1 points 1 year ago* (last edited 1 year ago)

I'm pretty sure it also has a web interface where you can drag and drop files

Edit: after a second look I can't find anything like that. I swear I saw it somewhere...

[–] hyperspace@kbin.social 1 points 1 year ago

There's also Jirafeau, but I can't speak for any continuation of uploads