copyparty turns almost any device into a file server. One Python file, no stack to deploy, and a browser interface that uploads, browses, searches and plays back whatever sits on the disk — built for the machine you already have (a NAS, a Raspberry Pi, an old laptop, a router) rather than a datacentre install.
The main download is copyparty-sfx.py, a single self-extracting script that runs on Python 2 or 3 with every dependency optional: no database server, no PHP, no Node, no Java. There is also a PyPI package (python3 -m pip install --user -U copyparty), a Docker image with all dependencies built in, packages for Arch, Homebrew and Nix, a Termux recipe for Android and an a-Shell recipe for iOS, plus a standalone copyparty.exe for Windows machines without Python. The same codebase runs on Linux, macOS, Windows, FreeBSD, Android, ARM32/ARM64, ppc64le, s390x and RISC-V.
The web interface is one way in, not the only one. The same volumes are exposed over WebDAV, SFTP, FTP(S), TFTP and SMB/CIFS, so a phone, a TV, an e-book reader or an operating system’s file manager can mount the share natively. Folders can be downloaded as a single zip or tar, and a read-only FUSE client lets a Linux machine mount the server as a normal directory without SMB.
cbz comic reader and a webm player.-e2dsa index), and a text viewer with syntax highlighting that streams growing log files live.Permissions are attached to volume mounts rather than bolted on afterwards — -v /mnt/music:/music:r:rw,foo -a foo:bar shares a folder read-only with everybody and read-write for user foo. Rules can be per-folder, per-user and per-operation, with shares, upload-only folders and shadowed subfolders for the parts of a tree that should stay hidden. The web UI, WebDAV and the FTP/SFTP front ends all go through the same permission check.
Start it against a folder and open the port: running copyparty with no arguments serves the current directory read-write to everyone who can reach it, so accounts are strongly advised before it faces a network. Thumbnails, media indexing and transcoding need optional dependencies — apt install --no-install-recommends python3-pil ffmpeg on Debian, or nothing at all with Docker — and -e2dsa / -e2ts turn on file and audio-metadata indexing.
copyparty is the quickest way to make an existing disk reachable: it needs no web server, no reverse proxy and no database, and the whole install can be one file that you copy over and run. For a synced folder that follows you between devices rather than a server you browse, FileRise or LocalSend are closer fits.