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

Support S3 Compatible Storage Providers #893

Closed
DezyNation opened this issue Nov 12, 2023 · 7 comments
Closed

Support S3 Compatible Storage Providers #893

DezyNation opened this issue Nov 12, 2023 · 7 comments

Comments

@DezyNation
Copy link

Is your feature request related to a problem? Please describe.
Currently Tinode is only supporting AWS S3 storage services, however there are many other storage service providers like Wasabi, Vultr, Digital Ocean who support S3 APIs for their object storage.

Describe the solution you'd like
An environment variable named S3_BASE_URL should be used to manage files on S3 server

Describe alternatives you've considered
I just read the docker specific documentation and I couldn't find any possible ways to use S3 compatible storage providers.

@or-else
Copy link
Contributor

or-else commented Nov 12, 2023

We are using https://github.com/aws/aws-sdk-go/ to access S3. I never explored, but I suspect it's not that simple to add support for other storage options as changing the base URL. For example, search https://github.com/search?q=repo%3Aaws%2Faws-sdk-go%20S3_BASE_URL&type=code returns no results.

Otherwise I agree, it would be useful to add support for other storage options.

@or-else
Copy link
Contributor

or-else commented Nov 12, 2023

If you know how to do it with the AWS Go SDK, please let me know.

@pallid
Copy link

pallid commented Nov 30, 2023

tinode supported minio

my local setup example

AWS_ACCESS_KEY_ID=tinode 
AWS_SECRET_ACCESS_KEY=<secret> 
AWS_S3_BUCKET=/tinode/
AWS_DISABLE_SSL=false
AWS_PATH_STYLE=true
AWS_ENDPOINT=minio.local

@or-else
Copy link
Contributor

or-else commented Jan 31, 2024

Is there anything that we need to do on the tinode side to support this?

@tinode tinode deleted a comment from mynameisjoe666 Jan 31, 2024
@boshido
Copy link

boshido commented Feb 20, 2024

Is there anything that we need to do on the tinode side to support this?

Base from what I have tested Tinode with Minio.
Tinode work like a charm with env EXT_CONFIG for providing custom s3 config to point to minio

"s3":{
    "access_key_id": "xxxxx",
    "secret_access_key": "xxxxxxx",
    "region": "sa-east-1",
    "bucket": "minio_test",
    "disable_ssl": false,
    "force_path_style": true,
    "endpoint": "minio-api.x.io",
    "presign_ttl": 3600,
    "cache_control": "max-age=86400",
    "cors_origins": ["*"]
  }

image

But for other cloud provider that provide object storage, I'm not sure.
If Tinode only focus on S3 protocol like and compatible, there's no need for Tinode to do anything for now.

@mynameisjoe666

This comment was marked as spam.

@or-else
Copy link
Contributor

or-else commented Feb 21, 2024

I mentioned this option in the config file and documentation: 1c813cd

I think this can be closed now. Thanks everybody for helping out.

@or-else or-else closed this as completed Feb 21, 2024
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

5 participants