{"id":31723463,"url":"https://github.com/jan-di/docker-webdav","last_synced_at":"2025-10-09T04:55:58.417Z","repository":{"id":40462553,"uuid":"312814320","full_name":"jan-di/docker-webdav","owner":"jan-di","description":"Simple dockerized Nginx WebDAV Server","archived":false,"fork":false,"pushed_at":"2024-06-18T14:46:36.000Z","size":36,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-06-18T18:12:59.564Z","etag":null,"topics":["docker","nginx","webdav","webdav-server"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jan-di.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-14T12:38:56.000Z","updated_at":"2024-06-18T14:46:33.000Z","dependencies_parsed_at":"2024-06-03T09:17:52.640Z","dependency_job_id":"e35bb627-3f11-415f-8406-ffa651cfe74b","html_url":"https://github.com/jan-di/docker-webdav","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jan-di/docker-webdav","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jan-di%2Fdocker-webdav","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jan-di%2Fdocker-webdav/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jan-di%2Fdocker-webdav/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jan-di%2Fdocker-webdav/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jan-di","download_url":"https://codeload.github.com/jan-di/docker-webdav/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jan-di%2Fdocker-webdav/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000692,"owners_count":26082921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","nginx","webdav","webdav-server"],"created_at":"2025-10-09T04:55:57.384Z","updated_at":"2025-10-09T04:55:58.413Z","avatar_url":"https://github.com/jan-di.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dockered WebDAV Server\n\n![](https://flat.badgen.net/docker/size/jandi/webdav/latest)\n![](https://flat.badgen.net/docker/layers/jandi/webdav/latest)\n![](https://flat.badgen.net/docker/pulls/jandi/webdav)\n![](https://flat.badgen.net/docker/stars/jandi/webdav)\n\nDocker image of a nginx powered webdav server for my personal use. This will implement a [Class 2](https://stackoverflow.com/questions/58900793/what-is-a-level-2-webdav-server) compliant WebDAV server. Feel free to use, but be aware that backwards compatability is not assured and things can break at any time.\n\nRegistry | Image | Tags\n --- | --- | ---\nDockerhub | `docker.io/jandi/webdav` | [Details](https://hub.docker.com/r/jandi/webdav/tags)\nGitHub Container Registry | `ghcr.io/jan-di/webdav` | [Details](https://github.com/jan-di/docker-webdav/pkgs/container/webdav)\n\n## Usage\n\nSpecify `WEBDAV_USERNAME` and `WEBDAV_PASSWORD` as environment variables or create a `.htpasswd` file by yourself and put it to `/config/nginx/.htpasswd`.\nEven though the image is designed to be used behind a reverse proxy, the webserver must be accessed through HTTPS to prevent issues with certain WebDAV methods (e.g. MOVE)\n\n## Parameters\n\nConfigure the container by specifying environment variables:\n\nName | Description\n--- | ---\n`WEBDAV_USERNAME` | Name of WebDAV user\n`WEBDAV_PASSWORD` | Password of WebDAV user\n\nSee also the parameters from the upstream image [linuxserver/nginx](https://github.com/linuxserver/docker-nginx#parameters).\n\n## Endpoints\n\nEndpoint | Auth. req. | Description\n--- | --- | ---\n`/dav` | yes | WebDAV\n`/health` | no | Healthchecks, always return `200`\n\n## Example Configuration\n\nDocker-compose file with webdav server behind traefik reverse proxy:\nMake sure you also allow insecure certificates in traefik for internal connections.\n\n```yml\nversion: '3.8'\n\nservices: \n  web:\n    image: docker.io/jandi/webdav\n    labels:\n      - traefik.enable=true\n      - traefik.http.routers.webdav.entryPoints=https\n      - traefik.http.routers.webdav.rule=Host(`domain.example`)\n      - traefik.http.routers.webdav.tls=true\n      - traefik.http.services.webdav.loadbalancer.server.scheme=https\n      - traefik.http.services.webdav.loadbalancer.server.port=443\n      - traefik.http.services.webdav.loadbalancer.serverstransport=insecureskipverify@file # See https://doc.traefik.io/traefik/routing/services/#insecureskipverify\n    networks:\n      - ~traefik\n    volumes:\n      - ./data/web:/var/www\n    environment:\n      - PUID=1000\n      - PGID=1000\n      - TZ=Europe/Berlin\n      - WEBDAV_USERNAME=username\n      - WEBDAV_PASSWORD=super-secret-password\n    restart: unless-stopped\n\nnetworks:\n  ~traefik:\n    external: true\n```\n\nSkip the verification of the self signed nginx cert in global Treafik configuration (eg. traefik_dynamic.yml). \u003cbr /\u003e\nSee [doc.traefik.io -\u003e insecureSkipVerify](https://doc.traefik.io/traefik/routing/services/#insecureskipverify)\n\n```yml\nhttp:\n  serversTransports:\n    insecureskipverify:\n      insecureSkipVerify: true\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjan-di%2Fdocker-webdav","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjan-di%2Fdocker-webdav","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjan-di%2Fdocker-webdav/lists"}