# Copyparty Copyparty is a lightweight file server that shares and streams files over HTTP. It handles large payloads, media streaming, uploads, and directory browsing from a single Python binary. **Host:** Dankserver — **Hostname:** `files.dankserver.local` — **Docs:** https://github.com/9001/copyparty ## Facts (from research) | Item | Value | |------|-------| | Image | `ghcr.io/9001/copyparty:latest` (official Dockerfile in repo) | | Port | 3923 (host) → 3923 (container) | | Volume | bind mount the shared root directory | | Auth | per-directory `.cpy` config files, HTTP basic auth | | Streaming | HTTP range requests, HLS, WebDAV | ## Configuration - Run with `-e COPAY_PASS=...` or configure per-folder passwords. - Set `-e COPAY_MODE=rw` for read-write shares where uploads are allowed. - The container publishes port 3923; expose it to Caddy only, not the WAN. - `--resumable` enables resumable uploads for large files (models, ISOs). ## Volumes | Container path | Host path (convention) | |----------------|------------------------| | `/data` | `/opt/copyparty/data` | ## Healthcheck A simple TCP check on 3923 works; Copyparty returns HTTP 200 on the web root. ## Gotchas - Large transfers benefit from disabling TLS inside the app and letting Caddy terminate TLS. - Do not give Copyparty the whole disk; give it a dedicated share directory. - Upload tokens scoped per folder prevent accidental global write access. ## See Also - [[Dankserver Stack]] - [[Caddy]] — TLS termination and auth in front