copyparty
The main copyparty server command starts the file sharing server with HTTP, WebDAV, and optional protocol support.Synopsis
Description
copyparty is an HTTP file sharing server with features including:- File upload/download via web UI
- WebDAV support
- Optional SFTP, FTP, TFTP, SMB protocols
- Audio/video streaming and transcoding
- Full-text search and tagging
- mDNS/SSDP service discovery
- Upload deduplication
- Event hooks and handlers
General Options
path
Config file path (repeatable). Allows loading configuration from file instead of command-line arguments.Example:
-c /etc/copyparty/config.txtinteger
default:"512"
Maximum number of concurrent client connections.
string
Add user account (repeatable). Format:
USERNAME:PASSWORDExample: -a alice:secretpass -a bob:hunter2string
Add volume/share (repeatable). Format:
SRC:DST:PERMISSIONS[:FLAGS]Where:SRCis the local filesystem pathDSTis the URL path to mount it atPERMISSIONSdefine user access (see Permissions section)FLAGSare optional volume configuration flags
-v .::r- Share current directory as read-only for everyone-v /data/music:/music:r:rw,alice- Share /data/music at /music, read-only for everyone, read-write for alice-v /tmp/uploads:/up:w:c,nodupe- Write-only upload folder with duplicate detection
string
Define user group (repeatable). Format:
GROUPNAME:USER1,USER2,...Example: --grp admins:alice,bob,charlieboolean
Require both username and password for login (default is password-only).
path
Change working directory before mapping volumes.
boolean
Enable the
?dots URL parameter which allows clients to see dotfiles/hidden files.string
Server name displayed in the browser UI and mDNS announcements.Default: Hostname or random identifier
string
Public URL to assume when creating links.Example:
--site https://files.example.com/Binding Options
string
default:"::"
IP addresses or unix sockets to listen on (comma-separated).Examples:
-i ::- All IPv4 and IPv6 (default)-i 0.0.0.0- All IPv4 only-i 127.0.0.1- Localhost only-i unix:770:www:/dev/shm/party.sock- Unix socket with permissions
string
default:"3923"
TCP ports to listen on (comma-separated or range).Examples:
-p 3923- Single port-p 80,443,3923- Multiple ports-p 8000-8010- Port range
Upload Options
boolean
Prefix incomplete uploads with a dot, hiding them from clients unless
-ed is set.boolean
Enable symlink-based upload deduplication (volflag=dedup).
boolean
Enable hardlink-based deduplication; falls back to symlinks when hardlinking is impossible (volflag=hardlink).
boolean
Reject duplicate files during upload (volflag=nodupe).
string
default:"c"
How to timestamp uploaded files:
c- Client’s last-modified timeu- Upload timefc- Force client timefu- Force upload time
string
Unix file permissions (octal) for new files.Examples:
644- Owner RW, all read600- Owner RW only666- All RW
string
default:"755"
Unix directory permissions (octal) for new directories.Examples:
755- Owner RWX, all RX2750- Setgid + owner RWX + group RX700- Owner only
Database Options
string
Database durability profile (per-volume with volflag):
acid- Extremely safe but slow (never lose data)swal- 2.4x faster, 99.9% as safewal- 21x faster on HDD, 90% as safeyolo- Fastest, risk of losing entire database on power loss
--dbd=swal or as volflag: -v ~/music:music:r:c,dbd=acidTLS/SSL Options
path
Path to TLS certificate file (concatenation of key and certificate chain).
boolean
Disable SSL/TLS, force plaintext HTTP only.
boolean
Disable plaintext HTTP, force TLS only.
string
Set allowed SSL/TLS versions. Use
help to list available versions.string
Set allowed SSL/TLS ciphers. Use
help to list available ciphers.Protocol Options
integer
Enable SFTP server on specified port.Example:
--sftp 3922integer
Enable FTP server on specified port.Example:
--ftp 3921integer
Enable FTPS (FTP over TLS) server on specified port.Example:
--ftps 3990integer
Enable TFTP server on specified port.Example:
--tftp 69boolean
Enable SMB/CIFS server (read-only by default).Warning: Requires root on Linux/macOS unless using
--smb-port above 1024.Zeroconf/mDNS Options
boolean
Enable all zeroconf backends (mDNS, SSDP).
boolean
Announce services over mDNS (multicast DNS-SD) for auto-discovery.
boolean
Announce services over SSDP for Windows discovery.
Event Hooks
See Event Hooks for detailed information.string
Execute command after file upload finishes (repeatable).Example:
--xau /scripts/notify-upload.pystring
Execute command on message (repeatable).Example:
--xm notify-send,message,--QR Code Options
boolean
Show QR code on startup for easy mobile access.
boolean
Use HTTPS URL in QR code.
string
Location/path to include in QR code URL.Example:
--qrl "music/?pw=hunter2"Permissions
Permissions in volume definitions:r(read) - List folders, download filesw(write) - Upload files (requiresrto see uploads)m(move) - Move files/folders (requireswat destination)d(delete) - Delete files/foldersg(get) - Download files without listing foldersa(admin) - View uploader IPs, config reloadA(all) - Same asrwmda.
Examples
Basic read-only server
Read-only music server with authentication
Upload server with multiple users
HTTPS server with mDNS
Multi-protocol server
See Also
- u2c - Upload client
- partyfuse - FUSE mount tool
- Common Options - Shared options reference