File storage with T3
Hey so someone asked this before but it was half a year ago so I’m interested in seeing if things have changed:
I’m looking for a cloud-based file storage option for storing image and audio files for my app. Metadata for both will be stored in Planetscale but I need something for the actual files. What do you guys recommend?
32 Replies
Any S3 compatible cloud object storage provider seems to be good. Cloudflare R2 is basically free for small projects. Digitalocean spaces is cheaper than S3.
Cool I’ll look into these. Thanks!
I would also recommend DigitalOcean spaces, it sadly doesn't have a free tier but the price doesn't grow as exponentially with bandwidth and additional storage as AWS.
I will find the estimates I had tomorrow and post again, but it's something like this:
DOS - starting price 5$
AWS S3 - starting 0$
then at 250GB it's almost the same 5-10$ish, but then if you go to to like 1TB storage and bandwidth i think DOS was around 40$ while AWS was 400$, and after that it grows even worse...
Also if you need it I made a repo for using DOS with T3 and Uppy in a question a few months back https://discord.com/channels/966627436387266600/1068803756298346556/1072129440269746227
Plus they have a built in free CDN
Hey thanks for the advice, I’d love to see this repo!
Here's what I have from when I researched the different options
And now the intersting part, the comparison
So yea... AWS going kinda nuts
AWS S3 is very cheap. No reason to use DO Spaces, because its just S3 under the hood and horrible to deal with.
I currently have 80,000 images which means roughly 15gb of bucket size.
About 17k-23k http reqs total each day
And Ive yet to pay a single dollar
Not sure what you're intending to upload, but the free monthly tier is pretty nice, until you start to go up in requests, then it'll cut off pretty quick.
but overall s3 is great.
Is this because you’re within the 12-month free trial? And can you explain why you think DOS is horrible to deal with?
Makes sense to me! Had a brief look at the repo you made with DOS, would you say it’s relatively easy to set up and use?
@JulieCezar did you try cloudflare r2, it seems to be cheaper than everything else
No comments anymore, seems like he really loves giving AWS his money 😂
Didn't try it yet but I added it to the comparison
But from what I can see AWS did that as a response to other solutions coming up with much cheaper prices which wanted to end the AWS S3 monopoly... And now AWS made R2 cheaper than the rest...
And also, R2 doesn't have all the features as S3... https://developers.cloudflare.com/r2/api/s3/api/ but then again, neither does DOS. So yea, at first glance R2 appears to be better.
S3 API compatibility · Cloudflare R2 docs
R2 implements the S3 API to allow users and their applications to migrate easily. When comparing to AWS S3, Cloudflare has removed some API …
Annoying to deal with domains, CORS options and other CDN settings + why would I want to pay $5++ to DO, if I can spend less than a $1 with just using AWS S3 directly (no free trial btw)
DO has just made a simple facade around S3 which seems super good, when it's just more expensive lol
I doubt anyone spend more then 5e on startups and hobby projects on file storage
from what i can see is the count of the requests i think
🤔
and DO and R2 are flat based price?
based on bandwidth and storage
also not sure which features of S3 are included in that x $0.09
it sounds kinda high
It's not a wrapper it's s3 api compatible
i think depends of which kind of S3 storage you use
and i dont know which one they used for the calculations
I would generalize it like is this, if you plan to have a smaller project with not a lot of badwidth and storage used then AWS S3 is the better option because you have a free tier which will cover most if not all of your cost.
However, and this is a big however, if you plan to grow the amount of data you store or know you will have a lot of users/have a lot of bandwidth, AWS will eat you alive. Because their prices grow exponentially with the stored data and especially with bandwidth.
That's why our calculations differ, because of how much storage and bandwidth we take into account.
Yes it does depend on which you use, but I used the regular one which is meant for frequent access and uploads, which you would most likely use for your projects...
And I used AWS S3 pricing calculator for my calculations so none of the costs are made up 😂
99% of situation s3 is best u can get
I dare you to say that after you start having more data and users.
At the company I was working at previously we had a monthly bill of 1k+ $ and based on our revenue that was way to much
In comparison, with DOS that would have been up to a 100$ish
you can self-host minio which has an s3 compatible API. As long as you mount a host directory in the container, you can host it anywhere with docker (for example a VPS)
THen once you think its time to move to a cloud provider, just change the connection string because the API is the same
+ just use a Facade pattern to abstract the logic and your're good to go 👍
Regarding R2, https://www.youtube.com/watch?v=7ECooGD6Jas 2:30:42 by Theo: "R2 is miserable... Onboarding was obnoxious... And I wont be recommending it."
Theo - t3․gg
YouTube
STREAM VOD: T3 Env, Line of Prime, Toxic Engs and more
Casual stream today
Intro - 00:00:00
t3 env - 00:27:19
END OF T3 ENV - 00:43:04
Line of Prime - 00:54:33
END OF LINE OF PRIME - 01:31:11
Built In vs Lock In - 02:06:50
ACTUAL LOCK IN RANT - 02:08:34
End of lockin rant - 02:15:35
Toxic engineers - 02:45:32
ACTUAL RANT ON TOXIC ENGINEERS - 02:46:34
TOXIC ENGS RANT FOR REAL REAL - 02:49:41
end of ...
Is it still bad, how does DOS compare to R2 in terms of ease of use?
havent used it since, but DOS is easy. I implemented it in like 10 mins.
I made this repo some while ago, but don't guarantee it's still like that https://github.com/zanzlender/dos-upload-test
GitHub
GitHub - zanzlender/dos-upload-test: DigitalOcean Spaces - upload test
DigitalOcean Spaces - upload test. Contribute to zanzlender/dos-upload-test development by creating an account on GitHub.
Alright thanks, and have you used uploadthing?
I tried and like it, gives nice UI and has simple integration... however for my needs it was a bit expensive
Most recently we are using MinIO on a VPS at my job
self hosted
If not that we would be going for DOS