Runs a Nginx WebDav server in Docker
.github | ||
.dockerignore | ||
docker-compose-dev.yml | ||
Dockerfile | ||
entrypoint.sh | ||
README.md | ||
VERSION | ||
webdav.conf |
docker-webdav-nginx
Runs a Nginx WebDav server in Docker
- Source code: GitHub
- Docker container: Docker Hub
- Image base: Debian
- Init system: N/A
- Application: Nginx
- Architecture:
linux/amd64,linux/arm64,linux/arm/v7
Explanation
- Runs a Nginx WebDav server in Docker.
- Exposes two WebDav locations
/public
- No authentication/restricted
- Authentication if specified (see below)
Requirements
- Requires a WebDav client.
- I've found that not all clients are compatible (e.g., Dolphin doesn't work, but Thunar does).
Docker image information
Docker image tags
latest
: Latest versionX.X.X
: Semantic version (use if you want to stick on a specific version)
Environment variables
Variable | Required? | Definition | Example | Comments |
---|---|---|---|---|
WEBDAV_USER | No | WebDav username | user | user AND pass need to be set for authentication to work |
WEBDAV_PASS | No | WebDav password | password1 | user AND pass need to be set for authentication to work |
NGINX_CLIENT_MAX_BODY_SIZE | No (default: 250M) | Nginx's client_max_body_size | 500M | Be sure to include the units. Set to 0 to disable. |
Ports
Port on host | Port in container | Comments |
---|---|---|
Choose at your discretion | 80 | Nginx |
Volumes
Volume on host | Volume in container | Comments |
---|---|---|
Choose at your discretion | /var/www/webdav | Used to store WebDav files |
Example usage
Below is an example docker-compose.yml file.
version: '3'
services:
webdav:
container_name: docker-webdav-nginx
restart: unless-stopped
environment:
- WEBDAV_USER=user
- WEBDAV_PASS=password1
- NGINX_CLIENT_MAX_BODY_SIZE=500M
networks:
- webdav
ports:
- '8888:80'
volumes:
- 'webdav:/var/www/webdav'
image: loganmarchione/docker-webdav-nginx:latest
networks:
webdav:
volumes:
webdav:
driver: local
Below is an example of running locally (used to edit/test/debug).
# Build the Dockerfile
docker compose -f docker-compose-dev.yml up -d
# View logs
docker compose -f docker-compose-dev.yml logs -f
# Destroy when done
docker compose -f docker-compose-dev.yml down