pin the base image tag for compatibility; allow host editing of uploaded files #50
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem: latest Alpine is missing DBM libraries used by WebDAV module
The Dockerfile specifies
httpd:alpine
as a base, however when I build an image locally, run it, and test file upload, an error occurs similar to the issue described here: docker-library/httpd#201 (comment)Solution: use a Docker image tag that includes the required libs
Pin the base image to
httpd:2.4.43-alpine
which is the most recent tag that uses Alpine 3.12, which includes the required DBM libraries.Problem: files uploaded via WebDAV cannot be modified by the host
Upon startup, the entrypoint script changes ownership of all files and directories beneath and including the
/var/lib/dav
mount to the container userwww-data
. Newly created files are also owned by this user, and thus cannot be removed or modified by a non-root user on the host.Solution: allow host edits by using an optional environment variable
Introduce an optional environment variable
LOCAL
that changes theumask
for newly created files and directories that allows edits by a host user, by default.