I thought of this after a recent trip with some friends. We shared the photos when we were still in person. But sometimes we need to share a lot of photos over the internet. In the past, we have used a shared google drive directory for this. But I’d prefer a self-hosted option. There should be some sort of password protection as well (ideally per share, and no need for accounts). One should be able to both access the current files and upload new ones, just like google drive or dropbox.

I currently have FileShelter, which works for 1-to-1 sharing but not for groups. I guess something like ProjectSend would work, but it’s too complex for my usecase. I’d prefer something more lightweight since I’ll maybe use it once every few months. Also, it should be noob-friendly, and accessible using a browser.

Update: I’m very happy with copyparty. It does what I want, and much much more. I even replaced my older webdav server with it since it provides more granular control over share locations and permissions. Kudos to the developer @tripflag@lemmy.world!

  • tripflag@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    22 days ago

    Mind if I suggest my own software, copyparty?

    Regarding authentication, someone who has an account (in this case just yourself) can create password-protected shares which other people can browse, or upload, or browse+upload to (configurable when creating the share).

    There is WebDAV support, and it should integrate well enough with shares, but I haven’t tested that specifically.

    It has photo and video thumbnails, and a basic image-viewer, and with some elbow-grease it can also show exif-tags (gps-coordinates etc).

    There is also optional file dedup, so if two people upload the same file, it’ll detect and skip that during the 2nd upload (doesn’t waste any bandwidth) and swap out the new file with a symlink to the existing one. Default disabled to avoid surprising someone with symlinks.

    I think the following command would be enough to get you started:

    wget https://github.com/9001/copyparty/releases/latest/download/copyparty-sfx.py
    python3 copyparty-sfx.py -a sintan:yourpassword -v .::A,sintan --shr=/shr -e2dsa -e2ts
    

    but since that’s entirely unreadable, you can do it with a config file instead,

    [global]
      e2dsa  # enable filesystem indexing 
      e2ts  # enable media indexing (music tags)
      shr: /shr  # enable shares under this url
    
    [accounts]
      sintan: yourpassword 
    
    [/]  # create a volume at this url
      /srv/share/partypics  # the filesystem path to share
      accs:
        sintan: A  # give sintan read-write-move-delete-admin
    

    and use it like this:

    python3 copyparty-sfx.py -c the.conf
    

    there’s another example here and here for inspiration.

  • youmaynotknow@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    edit-2
    12 days ago

    I just use Syncthing with versioning, and that’s how I manage all my files and their versions.

    That alone is a document management and file versioning system without the overkill of Nextcloud (which is debatable).

        • markstos@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          ·
          21 days ago

          You still have manage upgrades due security vulns in all the features you are ignoring.

        • SinTan1729@programming.devOP
          link
          fedilink
          English
          arrow-up
          0
          ·
          edit-2
          22 days ago

          Storage, RAM, CPU usage. I prefer not to have such a large piece of software running for no reason. It might seem silly, but I hate using resources for no reason. I’ll rather have 5 lightweight apps running instead of a huge one, of which I’ll only use a few parts.

          • cerothem@lemmy.ca
            link
            fedilink
            English
            arrow-up
            1
            ·
            22 days ago

            This confuses me a bit, technically nextcloud is just a PHP script that only runs when you actually perform a page request.

            If you don’t enable the Cron then it does even less than a normal install.