← All templates · Files and documents
Deploy copyparty in one click
A file server in the browser: resumable uploads, a media player and share links, with WebDAV
A self-hosted alternative to Dropbox and Google Drive.
What is copyparty?
copyparty turns a machine into a file server that any web browser can use. Its uploader, up2k, sends large files in parallel chunks and resumes an upload that broke off, with no size limit. Folders show as a list or as thumbnails of images and videos, music plays in the browser with transcoding, text and Markdown files open in a viewer and an editor, and folders download as zip or tar. It indexes the files to search them by name, date, size or music tags, and serves them over WebDAV too, so a computer can mount them as a drive.
People run copyparty to keep and share their files without Dropbox or Google Drive. This template shares one folder, kept in a volume, with the single account made from the fields, and with nobody else; share links give out a file or a folder, with a password or an expiry if wanted. More accounts and folders are more -a and -v arguments in compose.yaml. The catch: its interface is dense, made for speed more than looks, and its FTP, SFTP and SMB servers need ports this template does not publish, so only the browser and WebDAV reach it.
Hosting copyparty on Pethost
- You sign in to Pethost with a passkey, GitHub or Google. No machine yet? You pick a plan, and the link waits until it is ready.
- New project opens at copyparty. You fill in what it asks for and click Create project: Username, Admin password.
- In a minute or two copyparty is live at its own address with HTTPS. Its secrets are made at random, and its data is in the nightly backup.
- It is a project like any other: you or your agent can change it, roll it back or restore it.
Questions about copyparty
Is copyparty free?
Yes. copyparty is open source under the MIT license, with no paid edition and no limits on files, users or upload size.
Is it safe to put copyparty online?
This template asks for the username and password for everything, and an address without them sees no files. copyparty bans an address for 24 hours after 9 failed sign-ins within an hour, and it reads the client’s real address from the proxy, so the ban hits the right one.
Can I mount copyparty as a network drive?
Yes, over WebDAV: in Windows with Map network drive, in macOS with Connect to Server in Finder, in Linux with the file manager or rclone. Sign in with the same username and password; the connect button in copyparty’s control panel lists the steps for each.
How do I share a file with copyparty?
Select the file or folder and press share at the bottom right: copyparty makes a link under /share, with a password, an expiry and uploads by visitors if you choose. Its owner deletes or extends a share in the control panel.
How do I add more users to copyparty?
Add an -a name:password argument for each to compose.yaml’s command, and name them in the -v line of the folder, such as A,owner:r,friend for read access only. Deploy again and they can sign in.
How much memory and disk does copyparty need?
copyparty is very light: about 40 MB of memory, and the disk holds your files with a little more for their thumbnails and index. On Pethost the Starter plan is enough for it, with room for other apps beside it.
copyparty Docker Compose file
The template is this compose.yaml and the variables written into the project’s .env as it is created. Pethost runs the file as it is written.
Containers: copyparty (copyparty/ac:1.20.26).
Volumes, in the nightly backup: files, state.
services:
copyparty:
image: copyparty/ac:1.20.26
restart: unless-stopped
# As copyparty's own instructions run it: as a user, not as root.
user: "1000:1000"
environment:
# copyparty would read a $ in an argument as a variable of its own, and the password may
# hold one: the arguments below are taken as they are.
PRTY_NO_ENVEXPAND: "1"
# Given no volume, copyparty shares its folder with anyone, to read and write. So the files
# volume is shared at the address's root with the one account made from the fields, which may
# do everything there (A: read, write, move, delete, admin), and with nobody else.
command:
- -a
- ${ADMIN_USERNAME}:${ADMIN_PASSWORD}
- -v
- /w::A,${ADMIN_USERNAME}
# The sign-in asks for the username and the password, not the password alone.
- --usernames
# The files are indexed, for search and for the uploads it has already seen, and so are the
# tags of music and videos; the index and thumbnails are kept beside the config, not among
# the files.
- -e2dsa
- -e2ts
- --hist
- /cfg/hists
# Links to a file or a folder, with a password or an expiry if wanted, under /share.
- --shr
- /share
# Requests come through the proxy, which sends the client's address in X-Forwarded-For.
- --xff-hdr
- x-forwarded-for
- --xff-src
- lan
- --rproxy
- "1"
- --no-robots
volumes:
- files:/w
# Sessions, shares, the index and thumbnails.
- state:/cfg
volumes:
files:
state:
More in Files and documents
- NextcloudFile sync, calendar and contacts on a server of your own
- Paperless-ngxA document archive with OCR and full-text search
- BentoPDFPDF tools in the browser: merge, split, compress, sign, convert and edit, with the files never leaving it
- GopeedA fast download manager in the browser: HTTP, BitTorrent and magnet links, with extensions
- OpenListOne file list over many storages: cloud drives, S3, WebDAV and more, browsed, previewed and shared in the browser
- PDFMathTranslateTranslates scientific PDFs and keeps their formulas, charts and layout