Beep backend proxying Minio to act as a fileserver. Need a running instance of minio
.
To run this service securely is to run it behind traefik forwarding auth to backend-auth
go build && ./pictures
Supply environment variables by either exporting them or editing .env
.
ENV | Definition | Default |
---|---|---|
LISTEN | Host and port number to listen on | :80 |
MINIO_ENDPOINT | Host and port of minio | minio:9000 |
MINIO_ID | Client id to use with minio | MINIO_ID |
MINIO_KEY | Client key to use with minio | MINIO_KEY |
MINIO_BUCKET_NAME | Name of bucket to store files in | beep |
MINIO_LOCATION | Minio bucket region | us-east-1 |
All requests need to be passed through traefik
calling backend-auth
as Forward Authentication. Otherwise, populate X-User-Claim
with:
{
"userid": "<userid>",
"clientid": "<clientid>"
}
POST /upload
Upload a file to be stored. Requires a request of Content-Type
multipart/form-data
.
Name | Description |
---|---|
file | File to be uploaded |
Name of the file as stored.
Code | Description |
---|---|
400 | Error parsing file out of request |
500 | Error storing file in minio |
GET /picture/:filename
Retrieve a picture by filename.
Name | Description |
---|---|
filename | Name of the file to be retrieved |
Image file.
Code | Description |
---|---|
500 | Error retrieving file from minio |