💡 If you want to know more about MONAI Deploy WG vision, overall structure, and guidelines, please read MONAI Deploy first.
The MONAI Deploy Storage library for MONAI Deploy clinical data pipelines system enables users to extend the system to external storage services by implementing the IStorageService API, which allows the users to plug in any other storage services, such as AWS S3 and Azure Blob Storage.
Currently supported storage services:
* Services provided may not be free or requires special license agreements. Please refer to the service providers' website for additional terms and conditions.
If you would like to use a storage service provider not listed above, please file an issue and contribute to the repository.
To use the MONAI Deploy Storage library, install the NuGet.Org package and call the AddMonaiDeployStorageService(...)
method to register the dependencies:
Host.CreateDefaultBuilder(args)
.ConfigureServices((hostContext, services) =>
{
...
services.AddMonaiDeployStorageService(hostContext.Configuration.GetSection("InformaticsGateway:storage:serviceAssemblyName").Value);
...
});
- Create a subdirectory named
plug-ins
in the directory where your main application is installed. - Download the zipped plug-in of your choice and extract the files to the
plug-ins
directory. - Update
appsettings.json
and set theserviceAssemblyName
, e.g.:"storage": { "serviceAssemblyName": "Monai.Deploy.Storage.MinIo.MinIoStorageService, Monai.Deploy.Storage.MinIO" }
To avoid tampering of the plug-ins, it is recommended to set access rights to the plug-ins directory.
The MONAI Deploy Storage library is released in NuGet & zip formats. NuGet packages are available on both NuGet.Org and GitHub. Zip files may be found in the build artifacts or the Releases section.
Official releases are built and released from the main
branch.
Release candidates are built and released from the release/*
branches.
Development builds are made from all branches except the main
branch and the release/*
branches. The NuGet packages are released to GitHub only.
For guidance on contributing to MONAI Deploy Workflow Manager, see the contributing guidelines.
To extend MONAI Deploy with your custom storage service provider, you must implement the IStorageService interface and extend the ServiceRegistrationBase base class.
- The IStorageService interface provides a set of methods required to interact with the storage layer.
- The ServiceRegistrationBase base class provides an abstract method Configure() to configure service dependencies based on .NET Dependency injection. The derived instance is dynamically activated during runtime based on the ServiceAssemblyName value defined in the StorageServiceConfiguration.
To participate, please join the MONAI Deploy Workflow Manager weekly meetings on the calendar and review the meeting notes.
Join the conversation on Twitter @ProjectMONAI or join our Slack channel.
Ask and answer questions over on MONAI Deploy Storage's GitHub Discussions tab.
Copyright (c) MONAI Consortium. All rights reserved. Licensed under the Apache-2.0 license.
This software uses the Microsoft .NET 6.0 library, and the use of this software is subject to the Microsoft software license terms.
By downloading this software, you agree to the license terms & all licenses listed on the third-party licenses page.
- Website: https://monai.io
- Code: https://github.com/Project-MONAI/monai-deploy-storage
- Project tracker: https://github.com/Project-MONAI/monai-deploy-storage/projects
- Issue tracker: https://github.com/Project-MONAI/monai-deploy-storage/issues
- Test status: https://github.com/Project-MONAI/monai-deploy-storage/actions