Set cache to files in Firebase Storage

Putting the pieces together for any future references here

First,

// Create file metadata to update
var newMetadata = {
  cacheControl: 'public,max-age=4000',
}

Then,

storageRef.put(file, newMetadata)


cacheControl for Storage : https://firebase.google.com/docs/reference/js/firebase.storage.SettableMetadata#cacheControl


You'll have better serving with Hosting, and deployment with the firebase CLI is extremely simple. I think by default the Cache-Control on images in Hosting is 2 hours, and you can increase it globally with the .json.

https://firebase.google.com/docs/hosting/full-config#headers

Hosting can scale your site and move it to different edge nodes closer to where the demand is. Storage is limited to buckets, but you can specify a bucket for Europe, one for China, on for North America, etc..

Storage is better for user file uploads and Hosting was for static content (although they are rolling out dynamic Hosting with cloud functions I think)