docker-webdav-nginx/README.md
Steven Polley 33ccf93911
All checks were successful
continuous-integration/drone/push Build is passing
hostile takeover
2023-06-23 20:42:29 -06:00

89 lines
3.6 KiB
Markdown

[![Build Status](https://drone.deadbeef.codes/api/badges/steven/docker-webdav-nginx/status.svg)](https://drone.deadbeef.codes/steven/docker-webdav-nginx)
# docker-webdav-nginx
Runs a Nginx WebDav server in Docker
- Source code: [GitHub](https://github.com/loganmarchione/docker-webdav-nginx)
- Docker container: [Docker Hub](https://hub.docker.com/r/loganmarchione/docker-webdav-nginx)
- Image base: [Debian](https://hub.docker.com/_/debian)
- Init system: N/A
- Application: [Nginx](https://nginx.org/)
- 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 version
- `X.X.X`: [Semantic version](https://semver.org/) (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](https://nginx.org/en/docs/http/ngx_http_core_module.html#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
```
## TODO