a no-nonsense docker image for nginx and webdav
Black Friday is particularly beloved in the low-end communities for Web hosting. Some providers are able to offer crazy deals (as in, under $1/month for decent VPS with NVMe storage)1. I was looking forward to offers for storage servers to host my offsite backup, in particular for my other servers and my Synology at home. One of the best protocols to implement for all these cases is WebDAV2.
I wanted a lightweight Docker container to deploy WebDAV in an agile way. That is, pick a folder, mount it and serve it through WebDAV, add authentication, and make it HTTPS compatible through a reverse proxy. I also wanted nginx instead of Apache HTTP.
There are some Docker images in the Docker Hub that somehow accomplish all of the above, but most have a combination of the following undesirable characteristics:
- They deploy an old version of nginx.
- They cause the mysterious NSPOSIXErrorDomain:100 Error with recent versions of macOS and iOS.
- They do not work with many broken clients and/or do not implement all WebDAV features.
The latter issue is mostly caused by nginx rather than who created the Docker image. When realizing the issue, I stumbled upon Rob Peck’s post on making WeDAV actualyl work on nginx.
1 + 1 = 3 and I developed a corresponding Docker image, that I call dgraziotin/nginx-no-nonsense. I threw some other goodies by deriving the image from linuxserver.io Ubuntu base, so it is easy to add custom scripts and handle folder permissions.
Head over to the project page to learn more. A sample
docker-compose.yml is included.
Hope you will find it useful! Pull requests are welcome.
I won’t enter into the details that this is often enabled by overselling resources and/or scamming people (called deadpooling by LET afficionados), but there ARE good providers out there who allow decent deals. ↩
I do not use a commenting system anymore, but I would be glad to read your feedback. Feel free to contact me.