introducing copyparty, the FOSS file server
-
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.
wrote last edited by [email protected]Alright, you bought me with this
Amazing presentation and nice that you have a demo!
-
Nextcloud is like Windows 95, it works great when you install it then it just keeps getting slower as you fill it with content
Also, itโs like Wordpress, growing new slow features youโll never need with each new release.
-
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.
Hey! Just set this up today and it seems pretty good. Only issue I'm having is that is pretty slow to download (~2mb/s) what are some good ways to speed it up?
-
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.
Screenshots of the ui at the top of the readme would be nice
-
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!
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/
-
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
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
-
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.
wrote last edited by [email protected]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.
-
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?
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.
-
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.
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!
-
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.
wrote last edited by [email protected]Any way to run the server as a docker container?
-
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 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.
-
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.
This looks nighsome as blossom!
-
Any way to run the server as a docker container?
You can run absolutely anything as a docker container that you have the binary (and other files if needed), or you can go fancy and compile from source in docker.
Just create a dockerfile.
From (some base image you want to use like Ubuntu or Alpine)
Copy necessary files
Run the binary
You can run it straight from command line, put it in a docker compose file, or even tag it and upload it to a repository (and then reference that in your docker compose)
-
Any way to run the server as a docker container?
Yep -- https://github.com/9001/copyparty/tree/hovudstraum/scripts/docker
Hopefully that description makes sense (let me know if it doesn't)
-
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!
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!
-
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
Ah, so you have compiled it into one file? Didn't know that was possible for python, what tool do you use for this?
-
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.
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.
-
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.
OMG! I've been looking for something like this for quite some time!
I will try this as soon as I have time. Thank you!
-
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-1
so it realizes all hope is lostthe 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)
-
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.
This is really impressive