feat: initialize serverAppConfigs with podman stacks for Dankserver and Dankclaw
- Dankserver stack: RomM, Copyparty, Calibre-Web, node-exporter - Dankclaw stack: Gluetun VPN (SearXNG tunnel), SearXNG+Valkey, ComfyUI (CPU backend), OpenWebUI, Hermes, Gitea+Postgres (migrated), Caddy reverse proxy, Grafana+Prometheus+Loki+Alloy observability - Caddyfiles with .local hostname convention and basicauth homepage - bind-mount storage policy, no named volumes - deploy.sh mirroring vllmScripts git workflow (push -> pull -> restart -> health) - docs/ Obsidian vault: per-service docs from frank-default-small research subagents (promtail EOL -> Alloy; gitea SECRET_KEY preservation; ComfyUI --cpu) - bats test suite at 6 seams — 22 tests green
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user