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.
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.
Congrats on the cat box cleaning!
Your readme looks super in depth, thanks for that! I haven’t watched the video yet but will later.
I didn’t see it mentioned from a quick glance, but is either sftp or ftps supported?
SFTP is not currently on the roadmap, but it’s not entirely implausible.
FTPS is supported, but it requires an optional dependency to be installed (pyopenssl), so it’s not available in the Windows EXE. And I just realized that the dependency is currently not present inside the docker images either, so I’ll get that fixed right away.
Clearly a labour of love 👍
Maybe support for some music streaming apps (subsonic?) would be cool?
That’s a neat idea – I’ve heard that a lot of stuff uses the subsonic API under the hood, so I’ll see what it would take to become compatible with that. At first glance it looks like I’d have to mine and index way more information about audio files, but could still be doable :>
Oh my god, this seems really good and closer to what I want than anything yet. Been looking for something to replace Nextcloud and found nothing good so I might take a look at this.
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.
Elderly raspberry pi B [✓]
Large portable drive gathering dust [✓]
Guess I’m setting up a locally hosted file server in the near future.
Hello!
Its been just about a year since someone forwarded this post to me, and I just want to say, I ABSOLUTELY LOVE COPYPARTY
I’ve kinda started using it for everything. It may have gotten out-of-hand…
A short list:
- I use it as the primary file sharing server for a small community I help run
- I use it as a personal file storage system with search (I wrote a custom plug-in for it that adds content-based search via meilisearch)
- Perhaps most-unhinged, I started using it the primary network-based file system on my LAN. It has so many more useful features for this than NFS, SSHFS, and Samba that it just became the obvious choice. I set up a webDAV share with a username/password and then mount it via systemd-mount and rclone, and its been working shockingly well.
Thank you so much for making copyparty, and thank you for posting this <3
@cyclicircuit @tripflag I loved copyparty, but my non-technical users sadly found it confusing. Even with White-Gold-Theme-For-Copyparty.
I want to take the copyparty backend and glue on the frontend from the (now-archived) File Browser project…
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.
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
Ah, so you have compiled it into one file? Didn’t know that was possible for python, what tool do you use for this?
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-1so it realizes all hope is lost :Dthe 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)
What do you use to bundle into one file?
copyparty-sfx.pyis a custom packer (see this reply) created by make-sfx.sh, andcopyparty.pyzis a standard zipapp, created by make-pyz.sh. The zipapp has more disadvantages than thesfx.py, so that’s the default/recommended build.
Is there a way to help translate the UI.
I would like to help translate it into Danish.
Would also be willing to help translate the UI.
Did you hear anything about translations? I’d also be down to help translate.
Put out some in-depth docker instructions and this will be common use in a month. Good work.
The fact you mention security features, without ever saying it’s ‘super secure’ tells me you know a lot about what you’re doing. I’m so sick of apps like this that start with “most secure app on the net” but you know they’re delusional. Thank you, going to check this out.
you even mention ladybird as browser, nice 😎
it’s such an impressive project! Amazing what they’ve accomplished in so little time, and so important too – we need as many options as we can get.
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?
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.
Everyone loves CP. Tell all your friends about CP.
Every single time I have seen one of your comments, you have disappointed me


Can we have Gopher support?
I was thinking of that!! But then I realized that even Firefox removed gopher support by now, so the joke was dead on arrival :P
Firefox isn’t that great for FTP either. Gopher still exists :-) and I’d love to use it even more.









