Sign inSign up

nmaggioni/dumpster

By nmaggioni

•Updated over 6 years ago

A lightweight, self-hosted and API-based file upload server supporting YubiKey OTP authentication.

Image
2

3.1K

nmaggioni/dumpster repository overview

Dumpster

Codacy Badge Dependency Status StackShare

A lightweight, self-hosted and API-based file upload server supporting YubiKey OTP authentication.
Written in NodeJS⁠ and CoffeeScript⁠, persistence layer implemented with LevelDB⁠ and page rendering done with Jade⁠.

⁠Table of contents

⁠Installation

  • Clone the repo.
  • Navigate to the cloned directory and run:
    • npm install
    • npm run bower
  • Edit the configuration file (see the Configuration⁠ section).
  • Enjoy Dumpster with npm start!
⁠Docker image

If you prefer running Dumpster in a container, a Dockerfile⁠ is available to build an image. An automated build can also be found in the Docker Hub⁠: you can pull it with docker pull nmaggioni/dumpster.

A simple and not production-ready docker-compose⁠ file is available as well, along with a rancher-compose⁠ for deploying on Rancher⁠.

⁠Configuration

Edit the config.json file in the config directory to configure Dumpster. Be sure to check the related Wiki page⁠ for a thoroughly explanation of all the options!

⁠Usage

⁠CLI

Dumpster is easy to use, and mainly meant to be called from CLI or API. Refer to the related Wiki page⁠ for API parameters and their explanation.

⁠WebUI

If enabled in the configuration⁠ with the enableWebUI option, a simple graphical web interface will be available on the root path. It will follow the skipAuth setting, requesting an OTP token only if needed. A drag-and-drop upload widget is available, and uploads are performed via AJAX requests.

WebUI demo

⁠A live demo is also available on GitHub pages⁠.

⁠Note on persistence

Since version v3.0.0, Dumpster will register and manage deletion dates in a local LevelDB⁠ instance (to be found in the database folder created upon starting the server). That way, if you stop the server and restart it at a later time, it will purge files with older deletion date than the current one and re-schedule future deletions.

⁠Credits

The included YubiKey library is a modified version of the one⁠ in Adam Baldwin (evilpacket)'s⁠ repo.

Tag summary

Content type

Image

Digest

Size

58.1 MB

Last updated

over 6 years ago

docker pull nmaggioni/dumpster