86

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.

top 45 comments
sorted by: hot top controversial new old
[-] perishthethought@piefed.social 7 points 1 week ago

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.

[-] muusemuuse@sh.itjust.works 6 points 1 week ago* (last edited 1 week 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.

[-] danhab99@programming.dev 6 points 1 week 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 3 points 1 week 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.

[-] uzay@infosec.pub 4 points 1 week ago

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

[-] lemmyhavesome@lemmy.world 4 points 1 week ago

Haven't looked at the project yet, but that's just the greatest name for a fileserver...

[-] RheumatoidArthritis@mander.xyz 4 points 1 week ago

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?

[-] poVoq@slrpnk.net 4 points 1 week ago

Clearly a labour of love 👍

Maybe support for some music streaming apps (subsonic?) would be cool?

[-] tripflag@lemmy.world 2 points 1 week ago

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 :>

[-] johntash@eviltoast.org 3 points 1 week ago

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?

[-] tripflag@lemmy.world 4 points 1 week ago

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.

[-] xnx@slrpnk.net 2 points 1 week ago

Screenshots of the ui at the top of the readme would be nice

[-] chellomere@lemmy.world 3 points 1 week ago* (last edited 1 week 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.world 3 points 1 week 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 2 points 1 week 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.world 3 points 1 week 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)

[-] RecallMadness@lemmy.nz 1 points 1 week ago

What do you use to bundle into one file?

[-] suzune@ani.social 1 points 1 week ago

Just a remark from someone who runs ZFS since the beginning. Many people don't like the deduplication feature because of its memory footprint.

It's also nice to have this feature without relying on a certain filesystem.

Very sleek project. The language switcher bit was brilliant hahaha. Seriously, good job.

[-] HexesofVexes@lemmy.world 2 points 1 week ago

Elderly raspberry pi B [✓]

Large portable drive gathering dust [✓]

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

[-] twikz@sopuli.xyz 1 points 1 week ago

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

[-] ayyy@sh.itjust.works 1 points 1 week ago

Everyone loves CP. Tell all your friends about CP.

[-] shiftymccool@programming.dev 1 points 1 week 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!

[-] Pall@piefed.social 1 points 1 week ago* (last edited 1 week ago)

Is there a way to help translate the UI.

I would like to help translate it into Danish.

[-] hexagonwin@lemmy.sdf.org 1 points 1 week ago

Looks fantastic, I'll actually be trying this. Love how it doesn't lock my files into some obscure format like seafiles.

[-] cyrano@lemmy.dbzer0.com 1 points 1 week ago

This is really impressive

[-] pwalker@discuss.tchncs.de 1 points 1 week ago* (last edited 1 week ago)

you even mention ladybird as browser, nice 😎

[-] tripflag@lemmy.world 2 points 1 week ago

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.

[-] pwalker@discuss.tchncs.de 1 points 1 week ago

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.

[-] kayohtie@pawb.social 1 points 1 week ago

Great job on something like this! I'll probably give it a whirl soon, I like Nextcloud but find it clunky sometimes because it's often a bit more than I need. Maybe breaking it up into Immich + this would help! Thank you for sharing your project!

One thing to note, your comparison against Nextcloud has a partially-incorrect point regarding file upload max size. The client does upload chunking, so is unaffected by the Cloudflare issue as well, but I believe the web client is still affected, just not the apps. https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/big_file_upload_configuration.html#adjust-chunk-size-on-nextcloud-side

I suspect a few others may be as well, but I'm only familiar with the Nextcloud one because that's what I've been running, and discovered in making sure I could still upload video files recorded while out and about.

Also love that it looks like a simpler install!

[-] tripflag@lemmy.world 1 points 1 week ago

Thanks for the correction; confirmed that Nextcloud now does chunked uploading (with the web-client too). Fixed :>

Good luck, and let me know if you hit any issues o/

[-] hperrin@lemmy.ca 1 points 1 week ago

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.

[-] gusgalarnyk@lemmy.world 0 points 1 week 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?

[-] RheumatoidArthritis@mander.xyz 0 points 1 week ago

I think Copyparty would be great for that purpose. The only thing you're missing is a way to expose it to the internet, such as a public IP or some tunnel

[-] tripflag@lemmy.world 2 points 1 week ago

Yep! Depending on what your home connection looks like, you have a few options:

if you are lucky enough to have your own private IP-address and are able to open ports, then you're almost done already -- you can put copyparty on some port (or keep the default 3923), and then anyone could connect to it by going to https://your.ip.address:3923/

(with this approach, you will want to create your own HTTPS certificate so the traffic is properly encrypted -- the best option here is to get a domain and get a certificate for the domain)

however, if you are behind CGNAT, meaning your internet provider has given you a shared IP-address, then people cannot connect directly to your home-PC. One way around that issue is by setting up a machine somewhere on the internet which bridges the gap back home to your PC. Cloudflare offers this as service, and this is explained in the copyparty readme -- see the "at home" section for one way to do that.

if you are against using Cloudflare for idealistic reasons (they are becoming quite powerful since they run a whole lot of the internet), then you can set up a cheap VPS which serves the same purpose. That's my setup, and how you are accessing the copyparty demo server right now -- I have the cheapest VPS you can get from Hetzner. The VPS is running nginx, and it forwards the traffic to my homeserver through an SSH tunnel. I haven't documented this approach in the copyparty readme, but I have a feeling a lot of other people have :>

[-] KarnaSubarna@lemmy.ml 0 points 1 week ago* (last edited 1 week ago)

Any way to run the server as a docker container?

[-] tripflag@lemmy.world 1 points 1 week ago

Yep -- https://github.com/9001/copyparty/tree/hovudstraum/scripts/docker

Hopefully that description makes sense (let me know if it doesn't)

[-] tux0r@feddit.org 0 points 1 week ago

Can we have Gopher support?

[-] tripflag@lemmy.world 0 points 1 week ago

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

[-] tux0r@feddit.org 1 points 1 week ago

Firefox isn’t that great for FTP either. Gopher still exists :-) and I’d love to use it even more.

[-] 2xsaiko@discuss.tchncs.de 0 points 1 week ago

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.

[-] gedaliyah@lemmy.world 0 points 1 week ago

Just curious, why did you replace nextcloud? I'm looking into transitioning from my current file server, and I've mostly heard only good things and not NextCloud.

[-] RheumatoidArthritis@mander.xyz 1 points 1 week ago

Nextcloud is like Windows 95, it works great when you install it then it just keeps getting slower as you fill it with content

[-] tux0r@feddit.org 2 points 1 week ago

Also, it’s like Wordpress, growing new slow features you’ll never need with each new release.

this post was submitted on 26 Jul 2025
86 points (98.9% liked)

Selfhosted

50093 readers
244 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS