Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🚀 [Feature]: MinIO #1523

Closed
3 tasks done
QHegazy opened this issue Oct 13, 2024 · 4 comments
Closed
3 tasks done

🚀 [Feature]: MinIO #1523

QHegazy opened this issue Oct 13, 2024 · 4 comments

Comments

@QHegazy
Copy link

QHegazy commented Oct 13, 2024

Feature Description

I’d like to suggest integrating MinIO as an option for object storage in this project. MinIO is a really powerful, open-source, S3-compatible storage system that could be a great fit for managing large files like videos, images, or backups. It's designed for high performance and works well in cloud environments, which I think aligns with what we're doing here.

Why MinIO?

  • S3 Compatibility: MinIO supports Amazon S3 APIs, so it can easily fit into workflows that are already using S3 or similar services.
  • Scalability: It can scale out horizontally as data grows, which means it’ll work just as well for small projects as it does for larger deployments.
  • Data Protection: Features like erasure coding and bitrot protection make sure the data is safe and durable.
  • Flexibility: You can run it on-premise or in the cloud, depending on what the project needs.

How it Could Be Used

MinIO could be used for things like storing media assets, backups, or any other large files. It would add a scalable, self-hosted storage solution that can handle growing data needs without relying on third-party services

Additional Context (optional)

No response

Code Snippet (optional)

package main

import (
  "github.com/gofiber/storage/minio" 
)

func main() {
  // Set up MinIO storage
  storage := minio.New(minio.Config{
    Endpoint:  "localhost:9000",
    AccessKey: "your-access-key",
    SecretKey: "your-secret-key",
    Bucket:    "your-bucket-name",
    SSL:       false, // Use true if using SSL
  })

  // Example route to upload files to MinIO
  app.Get("/upload", func(c *fiber.Ctx) error {
    return storage.Set("file-name", []byte("file-content"))
  })
 
}

Checklist:

  • I agree to follow Fiber's Code of Conduct.
  • I have checked for existing issues that describe my suggestion prior to opening this one.
  • I understand that improperly formatted feature requests may be closed without explanation.
@gaby gaby changed the title 🚀 [Feature]: 🚀 [Feature]: MinIO Oct 13, 2024
@gaby
Copy link
Member

gaby commented Oct 13, 2024

@QHegazy We already have a MinIO driver?

https://github.com/gofiber/storage/tree/main/minio

@gaby gaby closed this as not planned Won't fix, can't repro, duplicate, stale Oct 13, 2024
@QHegazy
Copy link
Author

QHegazy commented Oct 13, 2024

@QHegazy We already have a MinIO driver?

https://github.com/gofiber/storage/tree/main/minio

Hey @gaby,

My apologies! I must have overlooked the existing MinIO driver. Thanks for pointing it out. I'll explore the driver that's already available in the repository. I appreciate the quick response

@gaby
Copy link
Member

gaby commented Oct 13, 2024

@QHegazy No problem, enjoy. We have too many drivers, its easy to miss 😂

@gaby
Copy link
Member

gaby commented Oct 13, 2024

We also have a AWS S3 driver.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants