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)

  • wwwwhatever@lemmy.omat.nl
    link
    fedilink
    English
    arrow-up
    18
    arrow-down
    1
    ·
    9 months 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.

    • nopersonalspace@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      9 months ago

      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
        link
        fedilink
        English
        arrow-up
        2
        ·
        9 months ago

        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.worldOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          9 months ago

          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
            link
            fedilink
            English
            arrow-up
            2
            ·
            9 months 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.

  • entropicshart@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    7
    ·
    9 months ago

    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.worldOP
      link
      fedilink
      English
      arrow-up
      6
      ·
      9 months ago

      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
        link
        fedilink
        English
        arrow-up
        9
        ·
        9 months ago

        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.worldOP
          link
          fedilink
          English
          arrow-up
          7
          ·
          9 months ago

          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…

              • Uninvited Guest@lemmy.ca
                link
                fedilink
                English
                arrow-up
                1
                ·
                9 months ago

                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.worldOP
                  link
                  fedilink
                  English
                  arrow-up
                  2
                  ·
                  9 months 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
        link
        fedilink
        English
        arrow-up
        3
        ·
        9 months ago

        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.worldOP
          link
          fedilink
          English
          arrow-up
          4
          ·
          9 months 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
        link
        fedilink
        arrow-up
        1
        ·
        9 months 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).

  • MangoPenguin@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    9 months 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
    link
    fedilink
    English
    arrow-up
    4
    ·
    9 months 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.

  • nutshell7827@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    9 months 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).