No description
.drone.yml | ||
app.py | ||
docker-compose.yml | ||
Dockerfile | ||
gunicorn_config.py | ||
README.md | ||
requirements.txt | ||
tests.sh |
python-api-server
a small flask-application for storing and downloading stuff like small binaries
Variables
MAX_CONTENT_LENGTH
: maximal Filesize in MB; defaults to 5MBUPLOAD_DIRECTORY
: where to store the uploaded files; should be mapped to a volume; defaults to "/uploads"AUTH_TOKEN
: token used for authenticating
Example Docker-Compose
API-Endpoints
/list
input
curl -H "token: myuploadtoken" http://docker10.host.lan:5040/list | jq
output
{
"files": [
{
"last_modified": "2023-04-13 11:43:51",
"name": "file1",
"size": 1034
},
{
"last_modified": "2023-04-13 11:53:59",
"name": "file2",
"size": 5
},
{
"last_modified": "2023-04-13 12:41:18",
"name": "file3",
"size": 3478
}
]
}
/upload
If a existing file has the same name as the newly uploaded file, it will be overwritten.
input
curl -X POST -H "token: myuploadtoken" -F "file=@tests/file" http://docker10.host.lan:5040/upload | jq
output
{
"success": "File 'file' successfully uploaded"
}
/download
input
wget http://docker10.host.lan:5040/download/file
/delete
input
curl -X DELETE -H "token: myuploadtoken" http://docker10.host.lan:5040/delete/file | jq
output
{
"success": "File 'file' successfully deleted"
}
/health
input
curl http://docker10.host.lan:5040/health
output
OK