Skip to content

py-package/minio-masonite-driver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project description

What is Minio-Driver?

It's an extra storage driver support for Minio in masonite 4.

Setup

Install package using pip:

pip install minio-driver

Add provider inside config/providers.py.

from minio_driver.MinioProvider import MinioProvider

PROVIDERS = [
    ...,
    # Application Providers
    MinioProvider,
]

Storage Config

Add following configuration inside config/filesystem.py after "s3": {...},

"minio": {
    "driver": "minio",
    "client": env("MINIO_CLIENT"),
    "secret": env("MINIO_SECRET"),
    "bucket": env("MINIO_BUCKET"),
    "path": env("MINIO_ENDPOINT"),
},

Add following keys in .env.

MINIO_CLIENT=
MINIO_SECRET=
MINIO_BUCKET=
MINIO_ENDPOINT=

Update the storage driver value to minio in .env

STORAGE_DRIVER=minio

Example

from masonite.controllers import Controller
from masonite.filesystem import Storage
from masonite.request import Request

class YourController(Controller):

    def your_function(self, request: Request, storage: Storage):
        file = request.input('file')

        # storing file
        path = storage.disk("minio").put_file('your_file_directory', file)

        # getting file_url from storage
        file_url = storage.disk("minio").get_secure_url(path)
        return file_url

Enjoy ;)