mrkeyoor.com_
Sat 05 Sept 07:56 UTC
Self-Hostedevaluationupdated 05 Sept 2026

copyparty review

Copyparty is a self-hosted file server that exposes existing folders through a browser and protocols such as WebDAV, SFTP, FTP, and TFTP. It solves the awkward job of moving, sharing, searching, and playing files across old and new devices without requiring a separate storage platform.

Verdict

Our Copyparty run installed 54 packages in 39 seconds and passed all 31 tests, making it a low-friction choice for admins who need several file protocols. Use it for a home lab, temporary transfer point, or carefully configured server that keeps files in their existing directories. Public or hostile-upload deployments demand close attention to permissions, HTML handling, media tools, and the reverse proxy.

We ran it

Lab card: what happened when we ran copypartyScreenshot of copyparty (github.com/9001/copyparty)
Install✓ · 39s54 packages · 83 MB
Build✓ · 23s
Tests✓ · 28s31 passed · 0 failed of 31 (pytest)
Known vulns0(pip-audit)
Repo482 files~101,598 lines of source · 5.3 MB · 0 CI workflows · tests dir

Answers from our run

Does copyparty build from source?

Dependencies installed in 39 seconds (54 packages), and the build succeeded in 23 seconds. We cloned commit 4e318d5 into a clean Debian container with 3 CPUs and no project-specific setup.

Do copyparty's tests pass?

Yes: 31 of 31 passed when we ran the project's own test command (pytest). Some failures need services or credentials a bare container does not have.

Does copyparty have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use copyparty?

Admins who expect a safe public configuration from a bare launch: the README says running without arguments gives everyone read and write access to the current folder.

What are the alternatives to copyparty?

Dufs, SFTPGo, Nextcloud. Our Copyparty run installed 54 packages in 39 seconds and passed all 31 tests, making it a low-friction choice for admins who need several file protocols.

Setup4/539-second install and all 31 tests passed
Docs4/5Detailed setup and hardening notes, though the README is sprawling
Community5/546,515 stars with issues active in September 2026
Maturity4/5Frequent releases and broad use, with sharp optional-feature caveats

Who it’s for

Home-lab admins who want one small service for browser uploads and several file protocols.
Teams moving large files over unreliable links that need resumable, chunked uploads.
People serving an existing directory tree without importing it into a new storage layout.
Operators willing to define accounts, volumes, permissions, and reverse-proxy rules themselves.

Who it’s NOT for

Admins who expect a safe public configuration from a bare launch: the README says running without arguments gives everyone read and write access to the current folder.
Sites accepting hostile uploads without extra isolation: the security guide says uploaded Markdown can contain scripts and recommends nohtml plus sandboxing media tools.
Anyone relying on its SMB mode for a WAN service: the README calls that mode unsafe and warns that its backend may have path-traversal problems.
Teams that need suffix byte-range requests to be dependable today: open issue 1628 reports that bytes=-N returns the start of a file instead of its final bytes.

Setup reality

Our measurement setup used a fresh Debian sandbox, where commit 4e318d5 installed in 39 seconds, adding 54 packages and using 83 MB. The build passed in 23 seconds. Pytest then passed all 31 tests in 28 seconds, and pip-audit found 0 known vulnerabilities.

The basic server needs Python and no hosted credentials. Media thumbnails and indexing add Pillow, FFmpeg, FFprobe, or other optional tools. A public service also needs an accounts-and-volumes config, chosen storage paths, and usually a reverse proxy for trusted TLS.

Starting with no arguments exposes the current folder with anonymous read and write access. Copyparty accepts HTTP and HTTPS on one port, though its README recommends a reverse proxy for TLS. SMB is explicitly discouraged, while untrusted uploads call for nohtml and tighter media processing rules.

One Python service speaks HTTP, WebDAV, SFTP, FTP, and TFTP

The 482-file checkout turns folders already on a machine into a browser-accessible file server. Users can upload, download, search, preview media, create temporary shares, edit text, and stream a file while it is still arriving. The same service can expose WebDAV, SFTP, FTP, FTPS, or TFTP when their dependencies and ports are enabled. That range is the main reason to choose it: one configurable process can bridge modern browsers, command-line clients, phones, and machines old enough to have limited software choices.

The checked-out repository was modest beside that feature list: 482 files, about 101,598 lines of source, and 5.3 MB on disk before installation. Copyparty also keeps existing filesystem paths intact. You map a local directory to a URL volume and assign permissions for named accounts, groups, or anonymous visitors. This avoids importing files into an application-owned store, which is useful when other programs must keep reading the same directory tree.

A bare launch grants anonymous read and write access

After our 39-second install, launching Copyparty without arguments shared the current directory with read and write access for everyone who could reach it. A self-extracting Python file, a PyPI install, a zipapp, and Windows executables are offered, along with packages for several operating systems. That default suits an emergency transfer on a trusted LAN. It is a bad choice for a public host, so the accounts-and-volumes section should be read before opening a firewall or tunnel.

Our install added 54 Python packages in 39 seconds and occupied 83 MB. Basic file serving needs only Python, while thumbnails, media metadata, audio transcoding, SFTP, FTPS, password hashing, and SMB draw on optional tools. Pillow and FFmpeg cover common media work. Paramiko enables SFTP, and Argon2 support enables hashed passwords. The base installation stays lean because those choices remain separate, but enabling the full menu means tracking native programs and their security updates.

What happened when we ran it

Our measurement setup used a fresh Debian container with 3 CPUs and 8 GB of RAM. We cloned commit 4e318d5 and installed it in 39 seconds. The build finished successfully in 23 seconds. That clean result supports the project's claim that the code is portable and does not demand an elaborate build chain. The repository contained a tests directory, though our scan found 0 GitHub Actions workflow files and no Dockerfile at the root. Its Docker material lives under scripts/docker, as the README explains.

Pytest passed 31 of 31 tests in 28 seconds, with 0 failures. Pip-audit also reported 0 known vulnerabilities in the installed Python packages. Those are clean results for commit 4e318d5 in our fresh Debian container. They do not test every optional protocol, browser, proxy rule, or media decoder. A production trial should exercise the exact volume permissions, upload path, reverse proxy, and optional binaries the service will use.

Anonymous uploads require HTML and media isolation

The 482-file checkout includes safety presets for untrusted content. Uploaded Markdown can contain HTML and scripts, and the document viewer's defenses are described as less than absolute. The nohtml volume flag serves HTML and SVG as plain text and disables Markdown rendering. Other controls can turn off thumbnails, media tag extraction through FFmpeg, delete and move operations, WebDAV, and directory prose. These settings matter because a file server may process material chosen by somebody else.

A 5.3 MB checkout does not remove that operating burden. The README recommends placing FFmpeg inside a bubblewrap sandbox and notes that this is usually unavailable inside Docker or Podman. It also tells proxy users to preserve Content Security Policy nonces and configure the real client address correctly. Built-in TLS is discouraged in favor of a reverse proxy, so an internet-facing setup still needs certificate handling, header checks, logging, and careful bind rules outside Copyparty itself.

SMB is discouraged, and suffix byte ranges have an open defect

Copyparty v1.20.21 labels its SMB implementation unsafe, slow, and unsuitable for WAN use. Its documentation says the backend is not fully integrated with the virtual filesystem and may have path-traversal problems, then recommends running it with a chroot or bubblewrap wrapper. TFTP has no accounts and uses volume permissions instead. These modes widen device compatibility, but they should be treated as specialized adapters. SFTPGo is the saner comparison when managed transfer protocols are the main requirement.

Our 31-test run passed, yet it did not erase an open protocol report. Issue 1628, filed on August 30, 2026, says a suffix request such as Range: bytes=-10 returns bytes from the beginning of a file. That can affect software reading metadata stored at the end of ZIP or media files. The report includes a reproduction against v1.20.21 and says explicit ranges work. Buyers depending on suffix ranges should reproduce that case before deployment.

September pushes and issue replies show active maintenance

GitHub recorded the last push on September 1, 2026, and listed 46,515 stars plus 255 combined issues and pull requests when fetched. Open issues were still being created and updated in early September, including a NixOS module report with a maintainer response. The combined count is not a count of defects. It does show that a large user base is still testing many operating systems, protocols, and packaging paths.

Release v1.20.21 was published on August 17, 2026, with new thumbnail extraction and WOPI work, along with upload and browser fixes. Its notes also point back to two July security fixes, a useful sign that operators should follow advisories rather than install once and forget. The 23-second build and clean 31-test result make Copyparty easy to trial. Keeping it safe in public depends on a narrow feature set, explicit volume rules, and prompt upgrades.

Alternatives

ProjectWhat it isPick it when
DufsA compact file server with a simpler browser interface and WebDAV support.pick this instead when you want a smaller feature set and less configuration.
SFTPGoA managed file-transfer server for SFTP, FTP, WebDAV, HTTP, and cloud storage.pick this instead when admin controls and storage backends matter more than Copyparty's media interface.
Nextcloud gh↗A larger file-sync and collaboration platform with desktop and mobile clients.pick this instead when user-facing sync, sharing, and collaboration apps justify a heavier stack.

What people are saying

  1. [velocity-scout] 9001/copyparty

Sources

  1. Copyparty README
  2. Copyparty v1.20.21 release
  3. Copyparty alternatives comparison
  4. Issue 1628: suffix byte ranges

More self-hosted reviews

frigate · zot · infra · consul · project-nomad · gpt-load · the whole board →