unsubbed.co

copyparty

Copyparty is a portable, single-file Python file server with resumable uploads, deduplication, WebDAV, SFTP, FTP, media indexing, and audio transcoding — no dependencies required.

Self-hosted file sharing, honestly reviewed. No marketing fluff, just what you get when you run a single Python script.

TL;DR

  • What it is: Open-source (MIT) portable file server — a single Python script that turns almost any device into a file-sharing server accessible from any web browser [1][2].
  • Who it’s for: People who email files to themselves, small teams sharing files over a local network, home lab enthusiasts who want Nextcloud-level features without Nextcloud-level resource consumption [1][2].
  • Cost savings: Nextcloud, Seafile, and similar tools require dedicated hosting with PHP/database stacks costing $5–20/mo. Copyparty runs on a $0 Raspberry Pi already sitting in your closet, or a $5 VPS if you want it internet-accessible [2][3].
  • Key strength: Absurd feature density in a single Python file. Resumable uploads, WebDAV, SFTP, FTP, TFTP, SMB, media indexing, thumbnails, deduplication, batch rename, and a built-in audio/video player — no Docker required unless you want it [1][3][4].
  • Key weakness: Security model is primitive by modern standards: credentials live in a plaintext config file, no end-user password changes, no SSO, no audit logs. Fine behind a reverse proxy, not fine as a public-facing server for sensitive data [1].

What is copyparty

Copyparty is a portable file server written in Python. The entire server ships as a single self-executing .py file — copyparty-sfx.py — that you download and run. No npm install, no Docker Compose, no database migration. Python is the only hard requirement; everything else (thumbnails via Pillow, media transcoding via FFmpeg, full-text search, WebDAV) is optional and degrades gracefully if the dependency isn’t there [1][3].

The GitHub README pitches it as a way to “turn almost any device into a file server with resumable uploads/downloads using any web browser.” That pitch is accurate. Copyparty runs on Linux, macOS, Windows, Android, FreeBSD, Raspberry Pi, arm32/arm64, ppc64le, s390x, and RISC-V [3][4]. The developer runs a live read-only demo on a NUC in their basement in Norway, which is either charming or deeply on-brand for this kind of project, depending on your tolerance for that vibe.

As of this review, the project sits at 43,557 GitHub stars with approximately 1,800 forks [4] — remarkable numbers for a single-person project that’s never had a marketing budget or a YC term sheet.


Why people choose it

The reviews cluster around two distinct use cases: replacing the “email yourself a file” habit for personal use, and replacing bloated NAS software or self-hosted cloud tools for home/small office use.

The email-to-yourself problem. The XDA Developers walkthrough [2] frames copyparty’s appeal directly: Anurag Singh describes a MacBook-to-Android workflow that involved WhatsApp, Telegram, and Gmail attachments, all to move files between two devices he owns. Copyparty collapses this into a browser tab. Start the script on one device, open the IP + port on another (or scan the QR code it prints in the terminal), drag and drop. No accounts, no cloud intermediary, no 25MB Gmail cap. The files never leave your network.

The lightweight Nextcloud replacement. The LinuxLinks review [3] positions copyparty in the “web-based file managers” category and calls out its cross-platform breadth and optional dependency model. Nextcloud is the obvious incumbent here, but Nextcloud requires PHP, a database (MySQL or PostgreSQL), and a web server — typically a full LAMP or LEMP stack. Copyparty requires Python. One XDA reviewer describes it as a “lightweight Nextcloud alternative consuming way fewer resources” [1]. That’s not hyperbole: a Nextcloud install that handles thumbnails, media indexing, and WebDAV needs 1–2GB RAM at minimum. Copyparty does all of that with a fraction of the footprint.

The Dropbox alternative. The second XDA piece [2] mentions that its author swapped Dropbox for a self-hosted alternative, with a related link in the article. Copyparty fits this use case when your needs are “share files fast across my own devices” rather than “sync a folder automatically across everything.” The upload is browser-drag-and-drop; the download is a browser click. That’s enough for most “I just need to get this file over there” scenarios.

The AlternativeTo community. A recent review on AlternativeTo [4] puts it simply: “A file server that is finally good and that is not too hard to setup.” The project has 14 likes and 72 alternatives listed — a signal that it’s known in the self-hosted community even if it hasn’t crossed into mainstream awareness.


Features

The feature list is where copyparty stops looking like a weekend project and starts looking like someone’s obsession. This is not a complaint.

Protocols (no extra setup required):

  • HTTP/HTTPS (browser, the main interface) [3]
  • WebDAV with read-write support [3][4]
  • SFTP (runs roughly 700 MiB/s according to the README) [3]
  • FTP and FTPS [3][4]
  • TFTP (read/write) [3]
  • SMB/CIFS [3]

You can mount a copyparty share as a network drive on Windows via WebDAV GUI, connect your music player via FTP, and use your phone’s file manager via SMB — all simultaneously, from the same Python process.

Upload engine:

  • Resumable chunked uploads (the up2k engine) with multithreading — stops mid-upload, resumes where it left off [2][3]
  • No file size limit, including on Cloudflare-proxied setups [3]
  • Drag-and-drop folders from browser (entire directory trees) [2]
  • Write-only folders (upload-only, no browse) [3]
  • Unpost: undo accidental uploads within a time window [3]
  • Self-destruct: uploads with a TTL [3]
  • Race the beam: start downloading a file before the upload finishes [3]
  • Content-matching deduplication (symlink or discard) [3][4]

Browser interface:

  • Directory tree navpane sidebar [3]
  • Grid view with thumbnails (images via Pillow/pyvips/FFmpeg, video via FFmpeg, audio spectrograms via FFmpeg, RAW images via rawpy) [3][4]
  • Built-in audio player with OS media controls and opus/mp3 transcoding [3]
  • Video-as-audio: converts video files to audio on the server side [3]
  • Image gallery with WebM player [3]
  • Realtime logfile streaming in the text viewer [3]
  • Markdown viewer and two editors [3]
  • Batch rename: select files, press F2 [3]
  • File manager: cut/paste, rename, delete (if you have permission) [2][3]
  • Zip/tar download of entire folders or file selections [2][3]
  • RSS feeds for folder monitoring [3]
  • OPDS feeds for e-book readers [3]
  • M3U8 playlist creation and playback [3]
  • Hotkeys for everything [3]

Search:

  • Search by name, path, size, date [3]
  • ID3 tag search for audio files [3]
  • File-search: drop a file into the browser to check if it already exists on the server [3]

Server features:

  • Accounts and per-volume, per-folder permissions [1][3]
  • Event hooks and script runner [3]
  • Reverse proxy support [1][3]
  • Zeroconf/mDNS/SSDP for LAN discovery (QR code in terminal for quick mobile access) [2][3]
  • UPnP [3]
  • Plugin support [4]
  • IPv6 and Unix socket support [3]
  • Actual multithreading (not cooperative async) [3]

Clients beyond the browser:

  • Android app [3]
  • iPhone Shortcuts integration [3]
  • FUSE client (read-only folder mount) [3]
  • curl-friendly API [3]
  • CLI upload tool [3]

The breadth here is genuinely unusual. Most self-hosted file tools pick a lane: browser-only, or WebDAV-only, or media server only. Copyparty does all of it from one file.


Pricing: SaaS vs self-hosted math

Copyparty is MIT-licensed and free [3][4]. There’s no commercial tier, no cloud hosted version to compare against, no enterprise SKU.

The relevant comparison is against the SaaS tools copyparty replaces:

Dropbox: $11.99/mo (Plus, 2TB, one user). Copyparty on a $6/mo Hetzner VPS with a 40GB SSD: $6/mo, unlimited users on your own hardware.

Google Drive (individual): $2.99/mo for 100GB, $9.99/mo for 2TB. Copyparty uses whatever storage you already have — an old hard drive, a NAS, whatever. $0 in storage fees.

Nextcloud (managed, Nextcloud GmbH): starts around $36/user/year for the hosted version. Self-hosting Nextcloud requires a proper PHP/MySQL stack — Hetzner’s cheapest box (CPX11, 2 vCPU, 4GB RAM) handles it at $6.66/mo, but you’re maintaining a real software stack. Copyparty on the same box: half the RAM, zero database overhead.

WeTransfer Pro: $12/mo for 200GB storage and 20GB transfers. Copyparty on any device: $0, no transfer limits, no expiring links unless you set self-destruct yourself.

Concrete math: If you’re paying Dropbox $12/mo for file sharing across your own devices, copyparty on a Raspberry Pi you already own is a $144/year saving with better features (resumable uploads, WebDAV, media player, dedup). The setup investment is maybe two hours the first time.


Deployment reality check

This is where copyparty genuinely separates itself from every other self-hosted tool on this site: the install is python copyparty-sfx.py. That’s it for local use.

No Compose file. No database. No environment variables required. You run the script, it starts a server on port 3923, prints an IP and QR code, and you’re done. From zero to accessible file server in under 60 seconds if you have Python installed.

What “just Python” actually means:

  • Works on whatever device you have: Mac, Windows PC, old Linux laptop, Raspberry Pi, Android (via Termux) [1][2][3]
  • No Docker unless you want isolation
  • Docker Compose option available for those who prefer it [1]
  • pip install available (pip install copyparty) [4]
  • Homebrew available (brew install copyparty) [4]
  • apt package for Debian/Ubuntu-based systems [4]

For internet-accessible deployment: The README and XDA reviews both recommend pairing with a reverse proxy (Caddy or nginx) for HTTPS and putting it behind a Cloudflare tunnel for external access [1][2]. That’s a real second step, but it’s the same step any self-hosted web tool requires. Copyparty explicitly supports this and has config examples.

What can go wrong:

The plaintext credentials limitation is the biggest operational gotcha. Usernames and passwords live in the config file as plain text. If you’re the only user, this is fine. If you’re deploying this for other people, they can’t change their own passwords through the UI, and you’re managing credentials by editing a file [1]. Not a dealbreaker for a home server; uncomfortable for a team deployment.

The reviewer on XDA [1] explicitly flags: “not for mission-critical or ultra-secure use.” Behind a Cloudflare tunnel or a VPN, the attack surface is manageable. On a public port with no additional protection, it’s not where you want sensitive documents.

There’s no built-in HTTPS — you need a reverse proxy for TLS. Again, standard for this category, but worth noting for first-timers.

Realistic time estimates:

  • Local LAN use on a machine you control: 5 minutes (download script, run it)
  • Adding internet access via Cloudflare Tunnel: 30–60 minutes
  • Adding a reverse proxy with HTTPS on a VPS: 1–2 hours including provisioning
  • For a non-technical user following a guide: 2–4 hours, mostly learning the terminal

Pros and Cons

Pros

  • Single-file deployment. The entire server — web UI, upload engine, media indexer, WebDAV, FTP, SFTP, SMB — ships as one Python script. No dependency hell, no Compose file required, no database [1][2][3].
  • Actually MIT-licensed. No “fair-code”, no BSL, no commercial use restrictions. Fork it, embed it, redistribute it [3][4].
  • Runs on anything. Linux, macOS, Windows, Android, FreeBSD, Raspberry Pi, arm32/arm64, RISC-V. If it runs Python, it runs copyparty [1][2][3].
  • Resumable uploads. The up2k engine handles interrupted uploads cleanly, with no file size limits even through Cloudflare [3][4].
  • Multi-protocol. WebDAV, SFTP, FTP, TFTP, SMB from one process. Most comparable tools pick one [3][4].
  • Deduplication. Content-matching dedup at upload time — useful for photo libraries and backup use cases [3][4].
  • Surprisingly capable media features. Thumbnails, audio player with transcoding, video-to-audio, playlists, spectrograms, OPDS for e-book readers [3][4].
  • ZeroConf/mDNS/QR code. On a LAN, just run the script and scan the QR code on your phone. No IP addresses to memorize [2][3].
  • Active development. 4,553 commits, maintained by an active developer, last updated April 2026 [4].
  • 43,500+ GitHub stars for a single-developer project with no marketing is signal worth noting [4].

Cons

  • Plaintext credentials. Passwords live in a config file. No end-user password management. No SSO, no LDAP, no OAuth [1].
  • Not for sensitive public-facing deployments. The XDA review explicitly says so [1]. Fine behind a VPN or tunnel, not fine on a raw public IP handling confidential data.
  • No automatic folder sync. Copyparty is upload-then-download, not Dropbox-style bidirectional sync. The README explicitly says “folder sync: one-way only; full sync will never be supported” [3].
  • UI is functional, not polished. The interface is capable but clearly developer-made. No Nextcloud-style polished mobile UI. If aesthetics matter to your use case, manage expectations [1][4].
  • Single-developer project. One person maintains this. That person has maintained it well across thousands of commits, but a bus-factor-one project is a bus-factor-one project.
  • Config is file-based and manual. Adding users, setting permissions, configuring volumes all happens in a text config file. No admin web UI for user management [1].
  • No built-in HTTPS. Requires a reverse proxy or Cloudflare tunnel for encrypted external access [1][2].

Who should use this / who shouldn’t

Use copyparty if:

  • You’re constantly emailing or messaging files to yourself across devices and want that to stop.
  • You have a Raspberry Pi, old laptop, or cheap VPS and want a file server that’s actually usable without a PhD in Docker.
  • You want WebDAV, SFTP, and FTP support without deploying three separate tools.
  • You’re building a home media server and want thumbnails, playlists, and audio playback built in.
  • You want dedup for photo library management on a NAS.
  • You need something that runs on ARM, RISC-V, or other non-x86 hardware where Docker images may not exist.

Skip it if:

  • You need enterprise-grade security: SSO, LDAP, SAML, audit logs, per-user password management. Use Nextcloud or Seafile with proper auth.
  • You need bidirectional folder sync (Dropbox-style). Syncthing is what you want.
  • You’re deploying for a team that isn’t technical enough to be told “your password is in this config file.”
  • You want a polished mobile-first interface. Nextcloud’s mobile app is in a different category.
  • Your compliance requirements don’t allow credentials in plaintext configuration files.

Think twice if:

  • You’re exposing this directly to the internet without a reverse proxy or VPN. It’s manageable, but read the security docs first.
  • You’re expecting automatic OS-level file sync. Copyparty doesn’t install a system service by default — you run the script, and when the script stops, the server stops.

Alternatives worth considering

  • Nextcloud — the obvious full-featured comparison. Proper auth, SSO, mobile sync clients, calendar/contacts integration. Requires PHP + database. Much heavier. [4]
  • Seafile — lighter than Nextcloud, better sync performance, still requires a proper server setup. Good middle ground for teams. [4]
  • Syncthing — if you want bidirectional sync across devices without a central server. No web UI for external sharing; not a replacement for file server use cases. [4]
  • FileBrowser — simpler self-hosted file manager with a web UI. Less protocol support than copyparty, but cleaner admin interface.
  • ownCloud — similar to Nextcloud (shared history), heavier stack, slower development. [4]
  • ProjectSend — designed for client file delivery (upload-then-share-with-specific-people). Different use case: copyparty is for your own access, ProjectSend is for sending files to clients [5].
  • Filebrowser Quantum / SFTPGo — alternatives if you specifically need SFTP with web management.

For the “turn my device into a file server in five minutes” use case, there’s no meaningful competition. For team collaboration with proper auth, Nextcloud wins on features. For sync-only, Syncthing wins on reliability.


Bottom line

Copyparty is one of the most honest pieces of software in the self-hosted space: it does exactly what it says, ships as a single file, runs on everything, and costs nothing. The feature list — resumable uploads, WebDAV, SFTP, FTP, SMB, dedup, thumbnails, media player, batch rename, ZeroConf, QR codes — looks like it was assembled by someone who got annoyed every time a file server couldn’t do one more thing, and then added that thing. The result is improbably capable for a one-person project.

The real limitations are the security model (plaintext config credentials, no SSO) and the lack of bidirectional sync. Neither is a design failure — they’re intentional trade-offs that keep the project maintainable and the install trivial. If your use case fits within those constraints (home use, LAN file sharing, personal media server, a VPS behind a reverse proxy), copyparty is the right tool. If you need enterprise auth or automatic sync, it’s the wrong one.

For founders and small teams paying monthly fees to Dropbox or Google Drive for basic cross-device file access: this is a $0 Python script that runs on hardware you probably already own. The math is hard to argue with.

If the setup is the blocker, upready.dev deploys this kind of infrastructure for clients as a one-time engagement.


Sources

  1. XDA Developers — “copyparty: FOSS file server review”https://www.xda-developers.com/foss-file-server-copyparty/ (xda-developers.com)
  2. Anurag Singh, XDA Developers — “I set up Copyparty and never need to email files to myself again” (Dec 17, 2025) — https://www.xda-developers.com/set-up-copyparty-never-email-files-again/ (xda-developers.com)
  3. LinuxLinks — “copyparty: Portable file server” (updated Oct 11, 2025) — https://www.linuxlinks.com/copyparty-portable-file-server/ (linuxlinks.com)
  4. AlternativeTo — “copyparty: Portable file server with accelerated resumable uploads, dedup, WebDAV, FTP”https://alternativeto.net/software/copyparty/about/ (alternativeto.net)
  5. AlternativeTo — “ProjectSend”https://alternativeto.net/software/projectsend/about/ (alternativeto.net)

Primary sources:

Features

Authentication & Access

  • LDAP / Active Directory

Integrations & APIs

  • Plugin / Extension System
  • WebDAV

Security & Privacy

  • Reverse Proxy Support

Mobile & Desktop

  • Mobile App