Introducing wdstorage

A simple and lightweight implementation of nginx autoindex with the ability to upload and delete files via a web interface.

The project consists of a pre-configured nginx and launch scripts packaged into a docker image. Source code available on GitHub.

Modern, clean look with breadcrumbs.

wdstorage screenshot

Upload multiple files without any backend, just WebDav & AJAX.

wdstorage upload screenshot

How to deploy as docker container

Simple one-line command:

docker run --rm -p 8080:8080 rickraven/wdstorage

Then you can visit http://localhost:8080/ in your browser.

Example docker-compose.yml for wdstorage:

services:
  wdstorage:
    image: rickraven/wdstorage:1.1
    container_name: wdstorage
    environment:
      - WDSTORAGE_WORKDIR=/data/mydata
    ports:
      - 80:8080
    volumes:
      - wdstorage-data:/data/mydata

volumes:
  wdstorage-data:

List of supported environment variables:

  • WDSTORAGE_WORKDIR - Directory to store files. Default value: /data
  • WDSTORAGE_PREFIX - Serving http requests on prefix. Default value: /
  • WDSTORAGE_PORT - Port on which the nginx will be served. Default value: 8080

By default, the container runs as the nginx user (uid: 100, gid: 101). To upload files, the working directory must be writable by the user. If ports up to 1024 are required, the container must run as the root user.