In a hands-on write-up for How-To Geek, writer Patrick Campanale highlighted Copyparty, a free, open-source portable file server that runs across Windows, macOS, and Linux, as well as low-power single-board computers like the Raspberry Pi 3B. While the enthusiasm for a near-instant file server is well earned, Windows users and home network administrators looking to adopt Copyparty should examine its official GitHub documentation closely—both to take advantage of native Windows features that are easy to miss and to avoid the glaring security pitfalls of a "zero-configuration" launch.
What Copyparty Actually Does
At its core, Copyparty turns almost any directory on your PC or server into an immediate, browser-accessible file hub with support for resumable uploads and downloads. Beyond its web interface, the project's official GitHub documentation notes that it can index files, parse media tags, generate thumbnails, and expose shares over standard protocols such as WebDAV and FTP.
In his How-To Geek piece, Campanale noted that he used the software to distribute custom Minecraft server modpacks, testing it across a high-end Docker server, an M1 Max MacBook Pro, and an older Raspberry Pi 3B. Because Copyparty does not require a heavy database backend just to get started, it spins up in seconds and works across any modern desktop browser.
Section Summary:
- Cross-Platform Utility: Runs on Windows, Linux, and macOS, supporting web browsers alongside protocols like FTP and WebDAV.
- Practical Use Cases: Ideal for quick LAN transfers, collaborative coding folders, or distributing large archives like game modpacks without setting up a heavyweight cloud suite.
Running Copyparty on Windows: Portable EXE vs. Python Script
One of the most appealing claims in How-To Geek's coverage is that Copyparty can run without installing dependencies—so long as Python is present on the host machine. While that is true for the Python script route, Windows users actually have an even simpler option.
According to Copyparty's official Windows documentation on GitHub, the project distributes two primary ways to run the software natively on a PC:
copyparty.exe: A standalone, portable Windows executable that includes extra features out of the box and does not require a separate Python installation.copyparty-sfx.py: A smaller, self-extracting Python script that requires the latest Python 3 release installed on the system.
If you want Copyparty to generate video thumbnails, transcode audio, or make music metadata searchable, the Windows documentation recommends downloading FFmpeg and placing ffmpeg.exe and ffprobe.exe into your system PATH (such as C:\Windows\System32\).
Setting Up a Windows Configuration File and Service
Wait—what happens if you just double-click the executable or run the script without arguments? Be careful. By default, running Copyparty with zero configuration shares the current working directory on port 3923 with read-write access for everyone. On an untrusted network, that is an open invitation for anyone to browse or overwrite your files.
Instead of relying on unauthenticated defaults, Windows users can create a plain-text configuration file (for example, C:\Users\you\Documents\party.conf) and launch the server in a console to test it using:
copyparty.exe -c party.conf
The official Windows example configuration shows how granular you can get in just a few lines:
[global]
lo: ~/logs/cpp-%Y-%m%d.xz # write compressed logs
e2dsa, e2ts, z # enable file indexer, media indexer, and zeroconf LAN discovery
p: 80, 443 # listen on ports 80 and 443 instead of default 3923
[accounts]
kevin: shangalabangala # define username and password
[/] # create a volume at root /
c:\pub # host folder to share
accs:
r: * # anyone can read/download
rwmd: kevin # only kevin can read, write, move, and delete
[/inc] # create a dropbox-style volume at /inc
c:\pub\inc
accs:
w: * # anyone can upload, but cannot browse contents
rwmd: kevin # kevin has full admin access
Once you verify that your configuration works in a standard command prompt, Copyparty's Windows guide details how to turn it into a persistent background service that starts at boot using NSSM ( the Non-Sucking Service Manager):
nssm install cpp %homedrive%%homepath%\downloads\copyparty.exe -c %homedrive%%homepath%\documents\party.conf
nssm set cpp ObjectName.\yourAccountName yourWindowsPassword
nssm start cpp
Running the NSSM service under your own Windows user account ensures that file permissions behave predictably and environment paths expand as expected.
Section Summary:
- No Python Needed on Windows: While
copyparty-sfx.pyrequires Python 3, the nativecopyparty.exebinary runs standalone. - Danger of Zero-Config: Launching without flags opens the current folder to anonymous read-write access on port 3923.
- Service Integration: Windows admins can pair a
.conffile with NSSM to run Copyparty as an automated background service.
Docker Deployment and the True Security Boundary
For users running a home server or virtual machine, How-To Geek recommends deploying Copyparty inside a Docker container, pointing out that Docker volumes and bind mounts restrict Copyparty from accidentally exposing your entire home or downloads directory.
Isolating the file path is indeed smart practice, though containerization is only half the battle. According to Copyparty's Docker documentation on GitHub, the standard quick-start command looks like this:
docker run --rm -it -u 1000 -p 3923:3923 -v /mnt/nas:/w -v $PWD/cfgdir:/cfg copyparty/ac
Here is what is happening under the hood:
/wis the shared data path: Whatever host folder you bind-mount to/wis what Copyparty serves. Importantly, the Docker image uses the exact same default behavior as the standalone script—if you do not supply a.conffile inside the/cfgmount (or pass command-line flags), the container shares/was read-write for anyone on port 3923.- Choosing an Image Edition: The project publishes several container variants across
x86,x86_64,AArch64(ARM64),arm32,ppc64le, ands390xarchitectures. They range frommin(57 MiB uncompressed, core server only) andim(70 MiB, adds Pillow image thumbnails and Mutagen media parsing) to the recommendedcopyparty/ac(163 MiB, adding FFmpeg for video/audio thumbnails and transcoding), as well as specializediv(211 MiB) anddj(309 MiB, adding musical key and BPM detection) builds. - Keeping Folders Tidy: By default, Copyparty creates a
.histfolder at the top of each shared volume to store its search index and thumbnails. In Docker deployments, the documentation recommends addinghist: /cfg/hists/under the[global]section of your config file so those metadata files stay inside your configuration directory rather than cluttering your shared media folders.
Fact-Checking the Plaintext Password Criticism
In his review, Campanale voiced a major security gripe with Copyparty: that all usernames and passwords must be stored in plaintext inside the configuration file, and that end users have no way to change their own passwords.
While that accurately describes a basic, unconfigured setup, Copyparty's upstream documentation confirms that the software does support both password hashing and user-initiated password changes—if the administrator turns them on:
- Argon2 Password Hashing: Administrators can enable password hashing with the
--ah-alg argon2option and use the interactive--ah-cliflag to generate password hashes without writing plaintext credentials to disk. The project estimates that its default hashing setup takes roughly 0.4 seconds and 256 MiB of RAM per new password on a modern laptop. - User Password Changes (
--chpw): While disabled by default, passing the--chpwoption allows users to change their own passwords. Those updated credentials are saved to achpw.jsonfile in the configuration folder (and are hashed if hashing is enabled), though the documentation notes this feature is incompatible with external identity-provider authentication and warns that altering hashing parameters later can invalidate user-changed passwords.
Even with Argon2 hashing enabled, How-To Geek's broader caution remains sound: if you plan to expose Copyparty outside your home LAN, put it behind HTTPS, a properly configured reverse proxy with its own authentication layer, or a secure tunnel rather than exposing raw HTTP port 3923 to the public internet.
Section Summary:
- Docker Scope vs. Access Control: Bind mounts limit which host directories Copyparty can see, but you must still mount a
.conffile to/cfgto lock down anonymous write permissions. - Built-In Security Options: Contrary to assumptions that Copyparty only supports static plaintext passwords, the project natively supports Argon2 password hashing (
--ah-alg argon2) and optional user password resets (--chpw).
Mounting Remote Folders in Windows File Explorer: The Catch
How-To Geek also praised how easily Copyparty lets you mount a remote server folder natively on a client computer, noting that the web interface provides copy-and-paste commands for Windows, macOS, and Linux.
While mapping a Copyparty share in Windows File Explorer via WebDAV (connecting to a URL such as [url]http://192.168.123.1:3923/[/url]) works out of the box, veteran Windows users know that Microsoft's built-in WebDAV client (WebClient service) is notoriously finicky. Copyparty's own GitHub documentation explicitly warns users about several Windows WebDAV client quirks, including authentication hiccups after system reboots, filename restrictions, and issues where anonymous-readable folders interfere with authenticated write permissions.
To work around the native Windows WebDAV bugs—or if you are considering the project's separate, read-only partyfuse.py filesystem mount utility (which requires WinFsp, Python 3, and mfusepy on Windows)—the Copyparty developers specifically recommend using rclone to mount the server on Windows for faster, more reliable performance.
| Windows Access Method | Read/Write Support | Prerequisites | Key Caveats & Recommendations |
|---|---|---|---|
| Web Browser UI | Read / Write (per config) | Any modern browser | Best all-around experience; supports resumable transfers. |
| Native Windows WebDAV | Read / Write | Built into Windows (Map network drive) | Prone to Windows WebDAV client bugs (reboot auth loss, write quirks). |
partyfuse.py | Read-Only | Python 3, WinFsp, mfusepy | Slower on Windows; intended for read-only local filesystem mounting. |
| rclone (Recommended) | Read / Write | rclone client (and WinFsp for drive mounting) | Recommended by Copyparty docs to bypass native Windows WebDAV bugs. |
Section Summary:
- WebDAV Limitations: Windows can map Copyparty shares natively over WebDAV, but Microsoft's built-in client suffers from well-documented authentication and write-permission quirks.
- The Better Workaround: For persistent drive mapping in File Explorer, the project recommends pairing Copyparty with
rclonerather than relying on Windows' native WebDAV implementation.
Bottom Line for Windows Enthusiasts
Whether you are running a headless home server, a spare Raspberry Pi, or a Windows 11 desktop that needs to share a massive directory across the room, Copyparty earns its reputation as a remarkably versatile tool. The key is treating its "zero-configuration" mode strictly as a five-minute local test. Before putting real data on the line, take ten minutes to drop a party.conf file into place, restrict anonymous write access, turn on Argon2 password hashing, and—if you are mapping drives on Windows—keep rclone in your back pocket.
References
- I wish I'd discovered this ultra-simple file server a long time ago How-To Geek · 2026-10-18T13:30:16+00:00
- copyparty/scripts/docker/README.md at hovudstraum · 9001/copyparty · GitHub github.com
- copyparty/docs/examples/windows.md at hovudstraum · 9001/copyparty · GitHub github.com