https://github.com/scriptsmith/depot
Object storage microservice. Like minio but minnier.
https://github.com/scriptsmith/depot
Last synced: 10 months ago
JSON representation
Object storage microservice. Like minio but minnier.
- Host: GitHub
- URL: https://github.com/scriptsmith/depot
- Owner: ScriptSmith
- License: mit
- Created: 2019-07-25T07:28:20.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-09-17T04:01:48.000Z (over 6 years ago)
- Last Synced: 2025-03-17T14:22:15.670Z (10 months ago)
- Language: Go
- Homepage:
- Size: 54.7 KB
- Stars: 9
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Depot
[](https://travis-ci.org/ScriptSmith/depot)
[](https://hub.docker.com/r/scriptsmith/depot)
A fast and simple HTTP server to store files from scraping and processing jobs.
Depot is designed to be used with an attached disk as a 'quick and dirty' object storage microservice.
[](https://console.cloud.google.com/cloudshell/editor?shellonly=true&cloudshell_image=gcr.io/cloudrun/button&cloudshell_git_repo=https://github.com/scriptsmith/depot.git)
## Features
- Download files with a GET request
- Upload files with a PUT request
- Remove files with a DELETE request
- Download a zipped copy of a job's files
- Uploading tool: [todepot](https://github.com/scriptsmith/todepot)
## Build
```
go get -v github.com/scriptsmith/depot
go build -v github.com/scriptsmith/depot
```
## Run
Create a root directory, or pick an existing one:
```
# mkdir /tmp/dr
export DEPOT_ROOT=/tmp/dr
```
Run
```
go run github.com/scriptsmith/depot
```
```
$ ./depot
2019/07/25 17:13:03 running at http://127.0.0.1:8080
```
Access the page to see instructions and a list of current jobs
## Environment variables
|Name |Required|Usage |
|------------------------|--------|-----------------------------------------|
|`DEPOT_ROOT` |**Yes** |Path to the root directory to store files|
|`DEPOT_USER` |No |Username for basic access authentication |
|`DEPOT_PASS` |No |Password for basic access authentication |
|`DEPOT_DISABLE_DELETION`|No |Disable the `DELETE` request |
## Docker
Run `scriptsmith/depot` and forward port `8080`
```
docker run -p 8080:8080 scriptsmith/depot
```
Use authentication and attach dir on host:
```
docker run -p 8080:8080 \
-e DEPOT_USER=depot \
-e DEPOT_PASS=pass \
-v /tmp/dr:/data \
scriptsmith/depot
```