File Storage API acts as a simple version of any cloud storage bucket.
Rome wasn't built in a day, but file_storage_api
was 😅
This is a simple API for storing files. It is designed to be used with the File Storage Client.
It can also be used as a standalone API on RESTFul communications over HTTP/HTTPS. By default it runs on port 1276
To run the container, using docker
. Pull from any registry, DockerHub or GitHub, both registries are linked to this repository and work exactly the same.
$ docker pull struckchure/file_storage
$ docker run -p 1276:1276 -it struckchure/file_storage
$ docker pull ghcr.io/struckchure/file_storage
$ docker run -p 1276:1276 -it ghcr.io/struckchure/file_storage
To run the API from source, you need to have python3
and pip3
installed. Then you can install the dependencies and run the API.
$ git clone [email protected]:struckchure/file_storage_api.git
$ cd file_storage_api
$ pip3 install -r requirements.txt
$ python3 manage.py runserver 1276
POST api/v1/files/
- Upload a fileUpload file using the key file
in the request body.
Example (using curl
):
$ curl -F "file=@/path/to/file" -X POST http://localhost:1276/api/v1/files/
GET api/v1/files/
- Get a list of all filesList all files in the database (not sure if you want to do this, but it's there).
Example (using curl
):
$ curl http://localhost:1276/api/v1/files/
GET api/v1/files/<file_id>
- Get a file by IDGet a file by ID.
Example (using curl
):
$ curl http://localhost:1276/api/v1/files/c678409202e12677e2c4/
PUT api/v1/files/<file_id>
- Update a file by IDUpdate a file by ID.
Example (using curl
):
$ curl -F "file=@/path/to/file" -X PUT http://localhost:1276/api/v1/files/c678409202e12677e2c4/
DELETE api/v1/files/<file_id>
- Delete a file by IDDelete a file by ID.
Example (using curl
):
$ curl -X DELETE http://localhost:1276/api/v1/files/c678409202e12677e2c4/