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

proposal: Integrate mediaapi with go-storage to allow store files on various storage service #1857

Closed
matrixbot opened this issue Nov 1, 2024 · 1 comment

Comments

@matrixbot
Copy link
Collaborator

This issue was originally created by @Xuanwo at matrix-org/dendrite#1857.

Background

go-storage is an application-oriented unified storage layer for Golang which allows the user to connect various storage services with the same interface. For now, go-storage supports s3, gcs, azblob, oss, cos, and more supports are on the way: beyondstorage/go-storage#536.

mediaapi only supports the local path and makes it hard to scale.

Proposal

So I propose to integrate mediaapi with go-storage to allow store files on various storage service.

NOTE: we still need a local cache as we need to calculate the sha256 hash of file.

Implementations

  • Replace mediaapi fileutil with go-storage.
  • Add storage connection string like we did on database.
@matrixbot
Copy link
Collaborator Author

This comment was originally posted by @kegsay at matrix-org/dendrite#1857 (comment).

We have no plans to do this at present. We might extend the mediaapi to support something like https://github.com/turt2live/matrix-media-repo/ but ultimately there are plenty of options here. Dendrite needs to be able to work in embedded environments so a filesysytem backed storage will always be a requirement.

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

No branches or pull requests

1 participant