I made a video about copyparty, the selfhosted fileserver I’ve been making for the past 5 years.

The main focus of the video is the features, but it also touches upon configuration. Was hoping it would be easier to follow than the readme on github… not sure how well that went, but hey :D

This video is also available to watch on the copyparty demo server, as a high-quality AV1 file and a lower-quality h264.

  • muusemuuse@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    36
    ·
    edit-2
    2 months ago

    You made this on your phone on the bus ride to and from work.

    I cleaned the cat box yesterday and considered that an accomplishment.

    Fuck.

  • chellomere@lemmy.world
    link
    fedilink
    English
    arrow-up
    17
    ·
    edit-2
    2 months ago

    Hey fellow scener, cool project!

    Just a few thoughts/questions:

    • BTRFS and ZFS support real deduplication via copy on write, and would eliminate all current disadvantages of symlink and hardlink deduplication. It just works.
    • Why have it be one huge python source file? This is a serious code smell imo, and something you really should avoid doing as this can be a major maintenance burden.
    • tripflag@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      17
      arrow-down
      1
      ·
      2 months ago

      BTRFS and ZFS support real deduplication via copy on write, and would eliminate all current disadvantages of symlink and hardlink deduplication. It just works.

      yeah that’s a good point, I’ll add an option to take advantage of this if you know you’re running on a filesystem where that works as intended.

      Why have it be one huge python source file?

      oh don’t worry, it’s all separate files during development – there’s a build-stage which bundles everything up into a single file for distribution. But thanks for the concern :D

      • chellomere@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        2 months ago

        Ah, so you have compiled it into one file? Didn’t know that was possible for python, what tool do you use for this?

        • tripflag@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          12
          ·
          2 months ago

          sooo this is one of the things that started with someone saying “wouldn’t it be funny if…”

          if you open copyparty-sfx.py in a text editor, you’ll see how – but please make sure to use an editor which is able to handle about 600 KiB of comments which contain invalid utf8 / binary garbage 😁

          I ended up rolling my own packer since I wanted optimal encoding efficiency, and everything I could find would do stuff like base85 or ucs2 tricks, but it turns out python is perfectly happy with binary garbage in comments if you declare that the file is latin-1 so it realizes all hope is lost :D

          the only drawback of the sfx.py is that it needs to extract to $TEMP before running, so that’s the slight advantage of the zipapp (the .pyz alternative), but that suffers from some performance reduction in return, and is more hermetic (doesn’t let you swap out the bundled dependencies with fresh versions as easily if necessary)

  • KiwiTB@lemmy.world
    link
    fedilink
    English
    arrow-up
    12
    ·
    2 months ago

    Put out some in-depth docker instructions and this will be common use in a month. Good work.

    • Womble@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 months ago

      Yup, I tried to run the docker image with the suggested docker command and it errored out for lack of a config file (though it did offer a fix in the logs for mounting the current directory as read/write)

  • buddascrayon@lemmy.world
    link
    fedilink
    English
    arrow-up
    9
    ·
    2 months ago

    Holy shit this is so unbelievably full featured it’s not even funny. This is going to rattle some big names. I wonder how long till they try to shut it down because it’s better than anything commercially available.

    • tiramichu@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      2 months ago

      I haven’t even tried it yet, but just from the video you can tell it’s going to be insanely good. I’m so impressed.

      It’s the first bit of software I’ve seen in a long time where I took one look and immediately thought “Fuck me, I need that!”

      I use Unraid for my NAS server and just on the off-chance I checked the Unraid community ‘app store’ and someone’s already created a Docker definition for it, published just today! The hype is real

      I’ll be giving this a shot

  • HexesofVexes@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    2 months ago

    Elderly raspberry pi B [✓]

    Large portable drive gathering dust [✓]

    Guess I’m setting up a locally hosted file server in the near future.

  • shiftymccool@programming.dev
    link
    fedilink
    English
    arrow-up
    5
    ·
    2 months ago

    Ho… Ly… Shit… This is great! The UI is a bit confusing at first but doesn’t take long to get what’s going on. I might even be disappointed with a UI revamp 😁 I can’t believe how much functionality this has. It’s already replacing some processes I have for mounting drives and backing up files. Maybe I missed something, but my only complaint would be the lack of an automatic one-way folder sync in the Party UP! app.

    I’m blown away, great job!

    • MysteriousSophon21@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 months ago

      That “functional but charming” UI reminds me of audiobookshelf with the soundleaf app - same vibe where it dosn’t look fancy but gets the job done better than most polished alternatives!

  • danhab99@programming.dev
    link
    fedilink
    English
    arrow-up
    5
    ·
    2 months ago

    Oh my gawd what a README!! I’m on my phone and I was trying to scroll back to the top of it from the bottom and I just kept on scrolling… Holy shit I’m going to put this on my kanban board give it proper attention

    • cwista@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      2 months ago

      At this rate might be faster to read code than a read me. Or convert to a wiki style if this much details are really needed.

  • utopiah@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    2 months ago

    Thanks for making the video but also for providing non Youtube link. Maybe there is a PeerTube server that would enjoy hosting it.

  • uzay@infosec.pub
    link
    fedilink
    English
    arrow-up
    4
    ·
    2 months ago

    Look cool! I think you should consider putting a screenshot of the UI somewhere near the top of the README

  • gusgalarnyk@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    2 months ago

    Sometimes I feel so new to setting up my own digital ecosystem because I look at a thing and think “that’s so cool” but struggle to imagine it at home. So could someone help me understand.

    This would be a replacement for something like Google Drive or Proton Drive? The actions I would use this for would be:

    • sending files to friends
    • managing a collection of files like PDFs, music, ISO’s that could be accessible by my friends (or just my household)

    So I would spin this up on my NAS or my main PC and replace those services and accomplish those actions using this software?

    Are there other services or actions I’m missing? Am I misunderstanding the premise entirely?

    • muusemuuse@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 months ago

      Oh yea, copyparty could do that. I might just do that too. My issue is more how do I grant them access to my network to get the thing tough? I currently use wireguard profiles and lock down where they can reach with rules and shit on a firewalla on a per account basis but that’s really complex and inelegant. It works and would working copypasta, but I kind of wish there was a simple webUI where I could define what a WireGuard user should be able to reach on my network with simple checkboxes by rules I have created over time. Probably wouldn’t tie into firewalla nicely though it could be more likely with OPNsense.

      Hmm. Surely someone must have thought of that already. It would make adopting things like copypasta much simpler and less risky.

  • Admax@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    2 months ago

    I’m properly in awe at this project. Not only does it support a wide range of protocols and runs practically everywhere, but it can play audio, video, display images and has keyboard shortcut support ???

    It’s got everything I could think about and so much more.

    I can’t wait to try it out !

    Thank you so much for your time and for making this open source.

  • TedZanzibar@feddit.uk
    link
    fedilink
    English
    arrow-up
    3
    ·
    2 months ago

    This is very impressive and I’m highly likely to give it a whirl. My question is, though: would it be something that my very non-tech savvy wife could use?

    Eg. I’m thinking setup the app on her phone with a default location and when she asks me for a file I can just tell her that I’ve “put it in the app”, and she’ll be able to easily retrieve it. Also same thing but vice versa, though the video seems to cover that via the Android share menu…

    Again, super impressive. Good job!

    • tripflag@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 months ago

      I have a hunch that the true answer, to be honest, is “no” – at least with the current UI as it is. I’ve come to terms with not being the best at making intuitive user interfaces, so I went all-in on making it poweruser-friendly and efficiency instead.

      Yeah, there’s the android app for sending files to the server, and it’ll always send files to the same folder, so that part should be pretty solid. But actually grabbing files from the server, perhaps not so much. Not sure I’d risk it, but I’ll leave the decision to you hehe

      I’m not aware of any user-friendly android/iOS apps for connecting to a webdav / ftps / sftp server, but if those exist, then that would probably have been a good option!

    • tripflag@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      11
      ·
      2 months ago

      If all you need is basic remote file storage such as a samba server, and especially if you need samba in particular, then your current solution is probably a better fit for you.

      Copyparty’s main selling points is the large number of features in one package, and being pretty good at receiving file uploads (usually faster than other alternatives), but it does not have good samba support. Instead of samba, copyparty has WebDAV support, so you can still connect to it from your file manager – but the performance will be different; depending on your access pattern and the type of files, it could be faster or slower than samba.