• Сообщество
  • Блог
Документация
Плагины и интеграцииВсе расширения для Medusa от сообществаСтартерыЗапускайте проекты быстрее с готовыми решениями
ЭкспертыПодберите специалиста для разработки и развития вашего проекта на MedusaКейсыПосмотрите примеры Medusa в продакшене и успешные внедрения
Меч Moscow
Комплексная e-commerce платформа на Medusa для московского fashion-бренда

Меч Moscow · Fashion

Gorgo снижает затраты на адаптацию Medusa к локальным рынкам.

Мы разрабатываем плагины интеграции, осуществляем поддержку и развиваем сообщество разработчиков на Medusa в Telegram.

  • Ресурсы Medusa
  • Плагины и интеграции
  • Стартеры
  • Эксперты
  • Кейсы
  • Medusa Чат в Telegram
  • Medusa Новости в Telegram
  • Документация Gorgo
  • Связаться с нами
  • TelegramGitHub
Плагины
MinIO logo

MinIO

Управляйте файловым хранилищем через MinIO

npm install @vymalo/medusa-minio
Категория
Другое
Создано
Vymalo
Версия
1.0.10
Последнее обновление
1 год назад
Ежемесячные загрузки
Загрузка данных
Звезды на Github
12
npmNPMGitHubGithub

MedusaJS Minio File Storage Provider

🗄️ Seamless MinIO file storage integration for MedusaJS - Self-hosted, S3-compatible object storage

🌟 Features

  • Direct integration with MinIO object storage
  • Support for public and private buckets
  • Configurable CDN and upload options
  • Flexible file key and metadata generation
  • Environment variable-driven configuration

🏗️ Architecture Overview

1graph TD
2 A[MedusaJS] -->|File Upload| B[MinIO Storage]
3 B -->|Public Files| C[CDN]
4 B -->|Private Files| D[Secure Bucket]
5
6 subgraph File Management
7 Upload[File Upload]
8 Download[Presigned URLs]
9 Metadata[Custom Metadata]
10 end

Key Capabilities

  • Self-hosted object storage
  • S3-compatible API
  • Secure file management
  • Flexible deployment options

📦 Installation

Install the package using npm:

npm install @vymalo/medusa-minio

Or using yarn:

yarn add @vymalo/medusa-minio

🚀 Configuration

Plugin Setup

1modules: [
2 {
3 resolve: '@medusajs/medusa/file',
4 options: {
5 providers: [
6 {
7 resolve: '@vymalo/medusa-minio',
8 id: 'minio',
9 options: {
10 endpoint: process.env.MINIO_ENDPOINT,
11 cdn_url: process.env.MINIO_CDN_URL,
12 bucket: process.env.MINIO_BUCKET,
13 private_bucket: process.env.MINIO_PRIVATE_BUCKET
14 || process.env.MINIO_BUCKET,
15 access_key_id: process.env.MINIO_ACCESS_KEY,
16 secret_access_key: process.env.MINIO_SECRET_KEY,
17 },
18 },
19 ],
20 },
21 },
22]

🔧 Advanced Configuration Options

1interface MinioOptions {
2 // Required Basic Configuration
3 endpoint: string; // MinIO server endpoint
4 cdn_url: string; // CDN URL for public files
5 bucket: string; // Default public bucket
6 access_key_id: string; // MinIO access key
7 secret_access_key: string; // MinIO secret key
8
9 // Optional Advanced Settings
10 private_bucket?: string; // Separate private bucket
11 download_url_duration?: number; // Presigned download URL expiry
12 upload_url_duration?: number; // Presigned upload URL expiry
13
14 // Customization Hooks
15 uploadMetadata?: (file: ProviderUploadFileDTO | ProviderGetPresignedUploadUrlDTO) => ItemBucketMetadata; // Custom metadata generator
16 buildKey?: (file: ProviderUploadFileDTO | ProviderGetPresignedUploadUrlDTO) => string; // Custom file key generator
17}

Customization Examples

Custom File Key Generation

1buildKey: (file) => {
2 // Generate custom file path/key
3 return `uploads/${new Date().toISOString()}/${file.originalName}`;
4}

Custom Metadata

1uploadMetadata: (file) => ({
2 'x-amz-meta-my-key': 'custom-value',
3 'content-type': file.mimetype
4})

🌐 Environment Variables

Required Environment Variables:

  • : MinIO server URL
  • : CDN endpoint for public files
  • : Default public bucket name
  • : MinIO access key
  • : MinIO secret key

Optional Environment Variables:

  • : Separate private bucket name

🛡️ Security Considerations

  • Use strong, unique access keys
  • Implement bucket-level access controls
  • Rotate credentials regularly
  • Use HTTPS for all communications

🤝 Contributing

Contributions are welcome! Please submit pull requests or open issues.

📄 License

Check the license

🔗 Related Projects

  • MinIO
  • MedusaJS
  • S3 Compatible Storage

Еще в этой категории

Посмотреть все
Другое
Gati logo

Gati

От Devx Commerce

Синхронизируйте Medusa с Gati ERP

Загрузка данных
npm
Другое
Product Reviews logo

Product Reviews

От Lambda Curry

Добавляйте рейтинги, отзывы и модерацию товаров

Загрузка данных
GitHubnpm
Другое
Variant Images logo

Variant Images

От Betanoir

Организуйте и загружайте варианты изображений в Medusa

Загрузка данных
GitHubnpm

Еще от этого автора

Посмотреть все
Авторизация
Keycloak logo

Keycloak

От Vymalo

Подключите безопасный вход через Keycloak и контроль доступа

Загрузка данных
GitHubnpm
Уведомления
Apprise logo

Apprise

От Vymalo

Отправляйте мультиканальные уведомления в Medusa

Загрузка данных
GitHubnpm
Уведомления
Mail Templates logo

Mail Templates

От Vymalo

Создавайте шаблоны писем для Medusa

Загрузка данных
GitHubnpm