blob: 39ec3077cab282e289636f584e5eb6e89559c860 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
# WebDAV Kubernetes Deployment
This directory contains the Kubernetes configuration for deploying an Apache WebDAV server to a k3s cluster. It shares the same data directory as File Browser.
## Prerequisites
### 1. File Browser must be deployed first
This WebDAV server reuses the `filebrowser-data-pvc` persistent volume claim. Ensure File Browser is already deployed:
```bash
cd ../filebrowser
just install
```
### 2. Create the htpasswd secret
Generate a password file and create the Kubernetes secret:
```bash
# Install htpasswd if not available
# On Fedora: dnf install httpd-tools
# On Debian/Ubuntu: apt install apache2-utils
# Generate htpasswd file (replace USERNAME and PASSWORD)
htpasswd -cb /tmp/webdav.htpasswd USERNAME PASSWORD
# Create the secret
kubectl create secret generic webdav-htpasswd \
--from-file=webdav.htpasswd=/tmp/webdav.htpasswd \
-n services
# Clean up
rm /tmp/webdav.htpasswd
```
To add additional users:
```bash
htpasswd -b /tmp/webdav.htpasswd ANOTHER_USER ANOTHER_PASSWORD
kubectl delete secret webdav-htpasswd -n services
kubectl create secret generic webdav-htpasswd \
--from-file=webdav.htpasswd=/tmp/webdav.htpasswd \
-n services
kubectl rollout restart deployment/webdav -n services
```
## Deployment
```bash
just install
```
## Configuration
WebDAV will be accessible at: `http://webdav.f3s.buetow.org`
The WebDAV root (`/webdav`) serves files from `/data/nfs/k3svolumes/filebrowser/data` - the same directory as File Browser.
## Storage
Uses the same persistent volume as File Browser:
- **data** (50Gi): Shared with File Browser at `/data/nfs/k3svolumes/filebrowser/data`
## Permissions
Runs with UID/GID 1000:1000, matching File Browser's permissions.
## Justfile Commands
- `just install` - Install WebDAV using Helm
- `just upgrade` - Upgrade the WebDAV deployment
- `just delete` - Uninstall WebDAV from the cluster
## WebDAV Client Access
Connect using any WebDAV client with:
- URL: `https://webdav.f3s.buetow.org/webdav/` (after TLS offloading via relayd)
- Username/Password: As configured in the htpasswd secret
|