Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

agnos.is Forums

  1. Home
  2. Selfhosted
  3. introducing copyparty, the FOSS file server

introducing copyparty, the FOSS file server

Scheduled Pinned Locked Moved Selfhosted
selfhosted
138 Posts 87 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T [email protected]

    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 😄

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

    A This user is from outside of this forum
    A This user is from outside of this forum
    [email protected]
    wrote last edited by
    #71

    Everyone loves CP. Tell all your friends about CP.

    O sxan@midwest.socialS mubelotix@jlai.luM 3 Replies Last reply
    9
    • T [email protected]

      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 😄

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

      H This user is from outside of this forum
      H This user is from outside of this forum
      [email protected]
      wrote last edited by
      #72

      Elderly raspberry pi B [✓]

      Large portable drive gathering dust [✓]

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

      1 Reply Last reply
      3
      • T [email protected]

        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 😄

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

        T This user is from outside of this forum
        T This user is from outside of this forum
        [email protected]
        wrote last edited by
        #73

        Now it would be interesting to setup a raspberry pi with harddrives plugged in the USB 3 ports💡

        1 Reply Last reply
        0
        • H [email protected]

          Can you point me to the WebDAV code? I’m interested to see your implementation. There are some parts of the spec that are ambiguous, and I like to see how those are implemented in different servers.

          T This user is from outside of this forum
          T This user is from outside of this forum
          [email protected]
          wrote last edited by
          #74

          sure! my implementation is really basic, just the stuff that's needed to make the clients i've tested happy, so there's probably still clients that won't be able to connect (And i'll fix those as soon as I hear about them!)

          httpcli.py is the http methods handler, and the webdav-specific handlers are all next to eachother, propfind // proppatch // lock // unlock // mkcol // and there's also put for the uploads, but that's not entirely webdav-specific, just webdav-aware.

          H 1 Reply Last reply
          0
          • R [email protected]

            What do you use to bundle into one file?

            T This user is from outside of this forum
            T This user is from outside of this forum
            [email protected]
            wrote last edited by
            #75

            copyparty-sfx.py is a custom packer (see this reply) created by make-sfx.sh, and copyparty.pyz is a standard zipapp, created by make-pyz.sh. The zipapp has more disadvantages than the sfx.py, so that's the default/recommended build.

            1 Reply Last reply
            1
            • R [email protected]

              I have a question, and I want to emphasise thar this is not criticism but a request for dive into technicalities.

              In the video you mentioned copyparty has an one-way sync tool. Is there a good reason why it's not two-way, or is this just something you weren't motivated to do?

              T This user is from outside of this forum
              T This user is from outside of this forum
              [email protected]
              wrote last edited by
              #76

              No worries, good question 😆

              The problem with bidirectional filesync is that it's an absolutely massive can of worms, very easy to mess up, and the consequences of messing up are usually the worst kind (loss of data). There's an insane amount of edgecases to keep in mind, and you need to get every edgecase right every single time, otherwise you might wipe someone's vacation photos, or suddenly downgrade someone's keepass database to an older version... And stuff like syncing multiple devices to the same server makes it balloon further.

              I've started becoming more confident in copyparty's filesystem-index database, but it's still just a hint/guideline, with the filesystem being the only source of truth -- it's still not something I'd trust with tracking sync-state against one or more clients.

              The bigger guys who offer bidirectional sync (nextcloud, syncthing, etc.) have spent years perfecting their logic, so I'd like to leave this in their capable hands.

              R N 2 Replies Last reply
              8
              • A [email protected]

                Everyone loves CP. Tell all your friends about CP.

                O This user is from outside of this forum
                O This user is from outside of this forum
                [email protected]
                wrote last edited by
                #77

                Really?

                1 Reply Last reply
                11
                • T [email protected]

                  No worries, good question 😆

                  The problem with bidirectional filesync is that it's an absolutely massive can of worms, very easy to mess up, and the consequences of messing up are usually the worst kind (loss of data). There's an insane amount of edgecases to keep in mind, and you need to get every edgecase right every single time, otherwise you might wipe someone's vacation photos, or suddenly downgrade someone's keepass database to an older version... And stuff like syncing multiple devices to the same server makes it balloon further.

                  I've started becoming more confident in copyparty's filesystem-index database, but it's still just a hint/guideline, with the filesystem being the only source of truth -- it's still not something I'd trust with tracking sync-state against one or more clients.

                  The bigger guys who offer bidirectional sync (nextcloud, syncthing, etc.) have spent years perfecting their logic, so I'd like to leave this in their capable hands.

                  R This user is from outside of this forum
                  R This user is from outside of this forum
                  [email protected]
                  wrote last edited by
                  #78

                  Thank you for your answer! Do you think copyparty would work together with Syncthing on the same backing directory, or would they compete for changes etc? Copyparty in this scenario would be for sharing content with friends and occasional remote upload

                  T 1 Reply Last reply
                  0
                  • R [email protected]

                    Thank you for your answer! Do you think copyparty would work together with Syncthing on the same backing directory, or would they compete for changes etc? Copyparty in this scenario would be for sharing content with friends and occasional remote upload

                    T This user is from outside of this forum
                    T This user is from outside of this forum
                    [email protected]
                    wrote last edited by
                    #79

                    that should be totally fine, I think a lot of people are doing that 😆

                    R 1 Reply Last reply
                    1
                    • T [email protected]

                      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 😄

                      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)

                      C This user is from outside of this forum
                      C This user is from outside of this forum
                      [email protected]
                      wrote last edited by
                      #80

                      Ah, reminds me of the old self-extracting gzip executable trick. I used that once a very long time ago to make a 4k linux intro, before I realized to be competitive I should switch to windows to be able to use Crinkler, which is superior even though the decompressor is part of the executable.

                      1 Reply Last reply
                      0
                      • T [email protected]

                        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 😄

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

                        C This user is from outside of this forum
                        C This user is from outside of this forum
                        [email protected]
                        wrote last edited by
                        #81

                        Don't believe it. This is easily too good to be true.

                        1 Reply Last reply
                        2
                        • tux0r@feddit.orgT [email protected]

                          I replaced nextCloud’s file sharing with Syncthing just recently, as I found myself only synchronising between two computers (one desktop, one smartphone) anyway. 🙂

                          2xsaiko@discuss.tchncs.de2 This user is from outside of this forum
                          2xsaiko@discuss.tchncs.de2 This user is from outside of this forum
                          [email protected]
                          wrote last edited by
                          #82

                          That won’t work for me since I have multiple people using this Nextcloud instance, and I also use it to publicly share files. I also have a big network share (currently 5 TB of data) that I would like to better integrate somehow (right now it’s available from Nextcloud read-only in essentially “anonymous mode” with no access to private user files).

                          1 Reply Last reply
                          1
                          • T [email protected]

                            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 😄

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

                            L This user is from outside of this forum
                            L This user is from outside of this forum
                            [email protected]
                            wrote last edited by
                            #83

                            This is cool. Idk if it’s just me but the h.264 version of your video has no sound!

                            T 1 Reply Last reply
                            1
                            • T [email protected]

                              No worries, good question 😆

                              The problem with bidirectional filesync is that it's an absolutely massive can of worms, very easy to mess up, and the consequences of messing up are usually the worst kind (loss of data). There's an insane amount of edgecases to keep in mind, and you need to get every edgecase right every single time, otherwise you might wipe someone's vacation photos, or suddenly downgrade someone's keepass database to an older version... And stuff like syncing multiple devices to the same server makes it balloon further.

                              I've started becoming more confident in copyparty's filesystem-index database, but it's still just a hint/guideline, with the filesystem being the only source of truth -- it's still not something I'd trust with tracking sync-state against one or more clients.

                              The bigger guys who offer bidirectional sync (nextcloud, syncthing, etc.) have spent years perfecting their logic, so I'd like to leave this in their capable hands.

                              N This user is from outside of this forum
                              N This user is from outside of this forum
                              [email protected]
                              wrote last edited by
                              #84

                              Sync is one of those things that seems like it should be trivial but is actually super complicated.

                              1 Reply Last reply
                              2
                              • T [email protected]

                                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 😄

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

                                sun@slrpnk.netS This user is from outside of this forum
                                sun@slrpnk.netS This user is from outside of this forum
                                [email protected]
                                wrote last edited by
                                #85

                                The video are amazing. It's entertaining and explains everything so it's easily understood.

                                1 Reply Last reply
                                2
                                • L [email protected]

                                  This is cool. Idk if it’s just me but the h.264 version of your video has no sound!

                                  T This user is from outside of this forum
                                  T This user is from outside of this forum
                                  [email protected]
                                  wrote last edited by
                                  #86

                                  man... that's really unexpected, I went with h264+mp3 which should be the most conservative / broadly-supported combination you could possibly use, yet still (ノ ゚ヮ゚)ノ ~┻━┻

                                  what webbrowser / device / player are you using?

                                  L 1 Reply Last reply
                                  2
                                  • A [email protected]

                                    Everyone loves CP. Tell all your friends about CP.

                                    sxan@midwest.socialS This user is from outside of this forum
                                    sxan@midwest.socialS This user is from outside of this forum
                                    [email protected]
                                    wrote last edited by
                                    #87

                                    Are China Parties like Tupperware Parties, where friends get together and one shills a pyramid scheme? That's what CP is, right?

                                    gandalf_der_12te@discuss.tchncs.deG 1 Reply Last reply
                                    0
                                    • T [email protected]

                                      sure! my implementation is really basic, just the stuff that's needed to make the clients i've tested happy, so there's probably still clients that won't be able to connect (And i'll fix those as soon as I hear about them!)

                                      httpcli.py is the http methods handler, and the webdav-specific handlers are all next to eachother, propfind // proppatch // lock // unlock // mkcol // and there's also put for the uploads, but that's not entirely webdav-specific, just webdav-aware.

                                      H This user is from outside of this forum
                                      H This user is from outside of this forum
                                      [email protected]
                                      wrote last edited by
                                      #88

                                      Thanks! So you put in the displayname prop even if it’s not set by the client. For the life of me, I can’t figure out what that prop is supposed to be in the spec. It calls it a live prop, but doesn’t give an explanation or an equivalent HTTP header.

                                      I love how you named the error for 400 statuses, “Pebkac”! xD

                                      1 Reply Last reply
                                      1
                                      • T [email protected]

                                        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 😄

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

                                        sun@slrpnk.netS This user is from outside of this forum
                                        sun@slrpnk.netS This user is from outside of this forum
                                        [email protected]
                                        wrote last edited by
                                        #89

                                        Have been playing around with it for a bit and it's AMAZING.

                                        1 Reply Last reply
                                        0
                                        • P [email protected]

                                          I agree but it's still in an early development state. Not really usable for everyday work let alone most people never heard about it 😅 But yeah still cool to mention it under "modern" browsers. I wish them good luck with the first alpha next year. I hope it'll be successful.

                                          T This user is from outside of this forum
                                          T This user is from outside of this forum
                                          [email protected]
                                          wrote last edited by [email protected]
                                          #90

                                          Can claim "It even works with browsers from the future!"

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups