Comments (3)
I am not too familiar with Docker, but I do believe this is something that should be handled outside Caddy; i.e. it's not Caddy's job to determine who to run as; and I strongly hesitate to add unix-specific code into Caddy or its modules that should work equally well cross-platform. Users and permissions are a system issue, not a web server concern. AFAIK you can run processes without being root with Docker, and apparently this is sometimes even recommended. I'd rather not introduce that complexity into this project.
I think there's a --uid
flag you can pass with the Docker command to specify the user ID to run as.
Not sure if that is helpful but maybe it will give you some ideas of what to search for.
from caddy-webdav.
If you need more limited permissions for webdav
only, you could run a second unprivileged instance of Caddy for it and reverse_proxy
to it instead.
from caddy-webdav.
Thanks for the answer @mholt, I totally get your point ๐
And thanks for the idea of running a secondary unprivileged caddy server @pgaskin ๐
Running as non-root in Docker is actually not as trivial as defining USER
in the Dockerfile, since the unprivileged caddy could not persist (autosave) its configuration or access the cache directory.
For the record, I ended up running the whole caddy binary unprivileged (thus on ports > 1024) with Docker being in charge of binding ports 80 and 443. And I had to run a chown -R /data /config
in an entrypoint in order allow the unprivileged binary to access those directories.
from caddy-webdav.
Related Issues (20)
- Is it possible to have directory listing with WebDAV enabled in the same path? HOT 3
- Permission/Path issues with webdav-module using systemd service
- Can you add the modify option like cdday-v1-webdav? It can achieve read-only access HOT 1
- can not use xcaddy build caddy v2.4.3 with webdav HOT 3
- Every time you use webdav to sync photos, an error will be reported๏ผ HOT 2
- encoded url can escape path limit HOT 4
- Excuse me, how to set different permissions under multiple users? HOT 8
- HEAD requests should work also on folders HOT 1
- Can not upload large file HOT 2
- The webdav service filter some files for unknown reason HOT 3
- Issue with webdav RANGE requests HOT 3
- FR: hide option HOT 1
- CF HOT 3
- Webdav with Jetbrains Rider, Caddy and ASP NET Core Umbraco CMS HOT 7
- TLS and Webdav client HOT 1
- LOCK/UNLOCK and other Webdav method support HOT 5
- root directive appears to ignore {http.auth.user.id}
- How to have WebDAV server run under a subdirectory of a subdomain? HOT 3
- Not compatible with MacOS Finder HOT 3
- Can not build with the new Go version HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from caddy-webdav.