Runs a Nginx WebDav server in Docker
Go to file
Logan Marchione ef8106adcd Bump version 2023-06-19 15:13:10 -04:00
.github Update aquasecurity/trivy-action action to v0.11.2 2023-06-09 22:52:35 +00:00
.dockerignore Initial commit 2022-04-02 14:32:22 -04:00
Dockerfile Rename entrypoint script 2023-06-19 15:13:01 -04:00
README.md Add Docker Compose for debugging 2023-03-30 21:13:18 -04:00
VERSION Bump version 2023-06-19 15:13:10 -04:00
docker-compose-dev.yml Update network name 2023-03-30 21:33:21 -04:00
password.sh Initial commit 2022-04-02 14:32:22 -04:00
webdav.conf Initial commit 2022-04-02 14:32:22 -04:00

README.md

docker-webdav-nginx

CI/CD Docker Image Size (latest semver)

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 version
  • X.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

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
    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