Copyparty is a free and open source practically instant self-hosted cloud storage software, with deduplication, resumable uploads, SFTP, and more, all in a 1.15MB Python file.

On the internet, cloud storage services such as Google or Microsoft offer free storage plans, at the hidden cost of your privacy. What if you could be the cloud service provider instead? Over the years, there’ve been many self-hosted solutions, such as Nextcloud or Syncthing, but those can be complicated to learn and maintain. Copyparty is one of them, being impressively simple.

By executing a single Python file, in the seconds it takes to start up you have a file server that can run on practically anything, accessible from browsers even as old as Microsoft’s Internet Explorer 6. It only needs Python, with all other dependencies being optional such as FFMPEG and Argon2 for thumbnails and password encryption.

It can run as a single Python file, portably, in Docker, on Windows 7 and up, or even as a bootable USB if you want to plug in and boot Copyparty on a friend’s computer. It runs best and most securely as the Python file on a modern OS; the Windows 7 option is more of a tech demo, being insecure. There’s even a version of Copyparty that only has English language support, shrinking the software down to a mere 831KB. I run my Copyparty instance on an rpi5 running Debian.

From there, with some effort, you can put it on your own website with port forwarding, although it’s probably better to keep it on something like a Tailscale tailnet to keep it private. I run my Copyparty over my tailnet (a virtual network between my devices) so it’s only privately accessible from my devices.

Copyparty has many features packed into it, but what most sets it apart is its resumable uploads. By hashing your file before uploading, Copyparty can prevent uploads from being corrupted, but it also lets Copyparty know how much and what parts of the full file had been uploaded without having the full file yet. From there, if you close the website or if the Copyparty server shuts down, Copyparty can just read the hashes it stored and can resume your upload. I’ve been able to in my spare time partially upload a large file throughout the day without needing a continuous upload window because of this.

Copyparty is a jack of all trades, following an inverse Unix philosophy. Instead of doing one thing and being extremely good at it, Copyparty does all things well. For example, while you could use it to store your photos, read your ebooks, and stream your media, you’re probably better off self-hosting individual services tailored to what you want.

Lastly, Copyparty reads and writes to your files in storage plainly as they are. No setting up databases or having extra metadata; your files untouched. So if you try but don’t like Copyparty, you can always remove Copyparty with no impact on your files. Uninstallation is easy—it’s a single Python file to delete.

Amusingly, the documentation of Copyparty is entirely in its monolithic “README” file, info-dumping visitors immediately. Copyparty is actively maintained by 124 contributors, written under the MIT license making it free and open source (free as in freedom!) with the Git repository hosted here.