File and binary distribution service for people.
Warehouse tries to be a simple file server targeting distrbution of assets (CSS, Javascript, Pictures, etc.) and Unix / Linux operating system binary packages (RPM, DEB, IPK etc.). This simpliciaty enables developers or operations to deploy a simple file server over there existing pacakge or assets directory which will provide a clean interface to pull down assets or packages to devices.
-
Brandable file browser with custom JS, HTML, and CSS.
-
Custom paths for assets, rpm, and deb files.
-
Server binary under 10 MiB.
-
Simple API to track downloads of files / packages. (Coming Soon!)
Binaries require Go (1.9 or newer) and Git. To build follow the instructions below:
- Download the source and place it in your
GOPATH
. - Change directories into the source.
- Run
go build
You can also use the Makefile
included in the source to build it.
To start serveing files from your current working directory, execute:
warehouse
Now you can look thru your directory under http://localhost:8080/assets
.
To configure the server further issue this command:
warehouse --help
From there you can look thru the options to configure more directories.
github.com/Dogfalo/materialize
- Material Design CSS Framework.
github.com/justinas/alice
- Simple middleware chaining library.
github.com/sirupsen/logrus
- Structured, pluggable logging for Go.
github.com/spf13/pflag
- Drop in replacement for the flag
package.
github.com/julienschmidt/httprouter
- A high performance HTTP request router that scales well.
I use SemVer 2.0.0 for versioning. For the versions available, see the tags on this repository.
- John Unland - Initial work - junland
See also the list of contributors who participated in this project
Code is licensed under GPLv2 which can be viewed in the LICENSE
file.
Please let me know through the issues tracker if you have any questions.
-
Not production ready.
-
API integration.
-
Write tests.
-
Check issues list for more information.