Coder Social home page Coder Social logo

docker-webdav-nginx's Introduction

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
    • http://localhost/public - No authentication
    • http://localhost/restricted - Authentication if specified (see below)

Requirements

  • Requires a WebDav client.
  • I've found that not all clients are compatible (e.g., for me, Dolphin doesn't work, but Thunar does).
  • I prefer to use Docker volumes for storage, as bind mounts might cause permissions issues when creating the required directories.

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

TODO

docker-webdav-nginx's People

Contributors

loganmarchione avatar renovate[bot] avatar karuboniru avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.