A WebDAV server that Just Works — zero config, litmus 100%. Built in Rust for speed and correctness, packaged as a single Docker image for easy deployment.
Features
- Browser + WebDAV hybrid — HTML directory listings for humans, WebDAV protocol for mounting (Finder, Explorer, davfs).
- Fast and lightweight — dispatch ~42µs (GET); 10MB read at 835 MiB/s, 1000-file directory listing in 1.7ms, PROPFIND 200 files in 1.1ms. Full benchmark report
- Zero config, one command — no config files, daemons, or runtime dependencies beyond Docker. Just mount a volume and go.
- Litmus 102/102 — full RFC 4918 Class 2 compliance: locks, copy/move, conditional
Ifheaders, dead properties. All five suites pass. - TLS + HTTP/2 — built-in HTTPS with automatic HTTP/2 negotiation.
- Optional Basic Auth — per-user credentials with persistent shadow files (SHA-512 crypt).
Installation
# or
Quick Start
# Serve ./data on port 8080
# With TLS (default port 8443)
# With authentication
Open http://localhost:8080 in a browser, or mount as WebDAV:
# Linux (davfs2)
# macOS (Finder)
# Windows (Explorer)
Documentation
| Document | Description |
|---|---|
| Usage Guide | Full usage, auth, shadow files, CLI |
| Docker Compose | Docker Compose deployment |
| Podman Quadlet | Podman Quadlet deployment |
| Kubernetes | K8s deployment, PVC, Ingress |
| Benchmark Report | Performance benchmarks (56 benchmarks, 6 suites) |
| Litmus Test Report | WebDAV conformance test results |
Environment Variables
| Variable | Description | Default |
|---|---|---|
RSHS_ROOT_DIR |
Root directory to serve | . |
RSHS_HOST |
Bind address | 0.0.0.0 |
RSHS_PORT |
Bind port (8080 plain, 8443 with TLS) | — |
RSHS_TLS_CERT |
TLS certificate file path (PEM) | — |
RSHS_TLS_KEY |
TLS private key file path (PEM) | — |
RSHS_USERS |
user:pass;... auth pairs |
— |
RSHS_SHADOW_FILE |
Shadow file path | — |
RSHS_LOCK_TIMEOUT |
Default WebDAV lock timeout in seconds (default: 300) | 300 |
RSHS_LOG |
Log filter (e.g. debug, rshs[status=500]=trace) |
— |
RSHS_LOG_STYLE |
Log output style | auto |
License
MIT License. See LICENSE for details.