quick start - GamerDuck123/copyparty GitHub Wiki
just run copyparty-sfx.py -- that's it! 🎉
- or install through pypi:
python3 -m pip install --user -U copyparty
- or if you cannot install python, you can use copyparty.exe instead
- or install on arch ╱ on NixOS ╱ through nix
- or if you are on android, install copyparty in termux
- or maybe you have a synology nas / dsm
- or if your computer is messed up and nothing else works, try the pyz
- or if your OS is dead, give the bootable flashdrive / cd-rom a spin
- or if you don't trust copyparty yet and want to isolate it a little, then...
- ...maybe prisonparty to create a tiny chroot (very portable),
- ...or bubbleparty to wrap it in bubblewrap (much better)
- or if you prefer to use docker 🐋 you can do that too
- docker has all deps built-in, so skip this step:
enable thumbnails (images/audio/video), media indexing, and audio transcoding by installing some recommended deps:
- Alpine:
apk add py3-pillow ffmpeg
- Debian:
apt install --no-install-recommends python3-pil ffmpeg
- Fedora: rpmfusion +
dnf install python3-pillow ffmpeg --allowerasing
- FreeBSD:
pkg install py39-sqlite3 py39-pillow ffmpeg
- MacOS:
port install py-Pillow ffmpeg
- MacOS (alternative):
brew install pillow ffmpeg
- Windows:
python -m pip install --user -U Pillow
- see optional dependencies to enable even more features
running copyparty without arguments (for example doubleclicking it on Windows) will give everyone read/write access to the current folder; you may want accounts and volumes
or see some usage examples for inspiration, or the complete windows example
some recommended options:
-e2dsa
enables general file indexing-e2ts
enables audio metadata indexing (needs either FFprobe or Mutagen)-v /mnt/music:/music:r:rw,foo -a foo:bar
shares/mnt/music
as/music
,r
eadable by anyone, and read-write for userfoo
, passwordbar
- replace
:r:rw,foo
with:r,foo
to only make the folder readable byfoo
and nobody else - see accounts and volumes (or
--help-accounts
) for the syntax and other permissions
- replace
at home
make it accessible over the internet by starting a cloudflare quicktunnel like so:
first download cloudflared and then start the tunnel with cloudflared tunnel --url http://127.0.0.1:3923
as the tunnel starts, it will show a URL which you can share to let anyone browse your stash or upload files to you
but if you have a domain, then you probably want to skip the random autogenerated URL and instead make a permanent cloudflare tunnel
since people will be connecting through cloudflare, run copyparty with --xff-hdr cf-connecting-ip
to detect client IPs correctly
on servers
you may also want these, especially on servers:
- contrib/systemd/copyparty.service to run copyparty as a systemd service (see guide inside)
- contrib/systemd/prisonparty.service to run it in a chroot (for extra security)
- contrib/openrc/copyparty to run copyparty on Alpine / Gentoo
- contrib/rc/copyparty to run copyparty on FreeBSD
- nixos module to run copyparty on NixOS hosts
- contrib/nginx/copyparty.conf to reverse-proxy behind nginx (for better https)
and remember to open the ports you want; here's a complete example including every feature copyparty has to offer:
firewall-cmd --permanent --add-port={80,443,3921,3923,3945,3990}/tcp # --zone=libvirt
firewall-cmd --permanent --add-port=12000-12099/tcp # --zone=libvirt
firewall-cmd --permanent --add-port={69,1900,3969,5353}/udp # --zone=libvirt
firewall-cmd --reload
(69:tftp, 1900:ssdp, 3921:ftp, 3923:http/https, 3945:smb, 3969:tftp, 3990:ftps, 5353:mdns, 12000:passive-ftp)