User Image Uploads - Do I need a seperate service?


I’m hosting my app with Digital Ocean, on a server that has 20GB SSD Disk-size.


In the near future I want to enable image-uploads for my users.
About 5 - 10 Images per user only.


It’s a bit unclear to me if I HAVE to use a seperate Service/Provider (Amazon S3 for example) to store these images, or if this is just optional. Can’t I just store them in the MongoDB?
Are there any downsides to this?
(As a sidenote: I dont really need the super-rad-fastest-app-in-the-world)

My current understanding is that using a seperate Service for storage is optional.
If I wanted to go that way, I’d use a package like Slingshot.
If not I’d go with the CollectionFS package instead and store the files in MongoDB.

Is this correct?
Thanks for your help.


The answer you’ll get won’t be clear, could you specify an estimate of the number of users you have and the number you project having in the future. Will this number evolve a lot ?

But other than that, I believe you are correct.

He can use CollectionFS but still store the images in mongo with GridFS

Hi elgusto,

thanks for the quick reply.

Hm, tricky… I can only very roughly estimate the numbers.
So I think we’re talking about ~500 users that can upload images only. (Pro-Users)

I’m working in a smaller niche market and will launch the app in german only for now.

What difference does it make how many users I have?
Does MongoDB get slow when filled with a lot of images?

Thanks a lot for your answer.

Thanks, I’ll look into that.

Sorry for off-topic but speaking of CollectionFS - any idea why the current build marked as failing?

I think you need to look into costs too, storing the images in s3 (you can also do it with the collectionFS s3 package) it will be the same simple integration as using collectionfs and storing in your mongoDB but you will pay pennies for hosting the images.

Example if you have your database in you will pay $18/month per GB so 500 users times 10 images its 5000 images times 1mb per image lets say its 5gb…so you would be paying $100 instead of about $5 with Amazon

Good point. I’ll definitely take that into consideration. Thank you!

It looks like a misconfiguration on the CI, missing rake (Ruby make)