Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set storage rules so I can run my Firebase storage emulator?

When I run firebase emulators:start I have this error

Error: Cannot start the Storage emulator without rules file specified In firebase.json

Before installing Storage emulator, I can set the rule for Firestore like this

{
  "firestore": {
    "rules": "./functions/firestore.rules"
  },
  "functions": {
    "predeploy": [
      "npm --prefix \"$RESOURCE_DIR\" run lint",
      "npm --prefix \"$RESOURCE_DIR\" run build"
    ]
  },
  "emulators": {
    "auth": {
      "port": 9099
    },
    "functions": {
      "port": 5001
    },
    "firestore": {
      "port": 8080
    },
    "storage": {
      "port": 9199
    },
    "ui": {
      "enabled": true
    }
  }
}

I believe I have to set the rule for storage in here. But I don't know how. I can't find the docs for this

like image 471
Agung Laksana Avatar asked Dec 10 '25 18:12

Agung Laksana


1 Answers

The error you're seeing is caused by a missing storage rules file. The solution is very similar to the way you set rules for Firestore.

  1. Create a file called storage.rules in the same directory as firebase.json.
  2. Add the following lines to it:
rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if request.auth != null;
    }
  }
}
  1. Specify the rules file for the storage emulator in your firebase.json:
"emulators": {
  "storage": {
    "port": 9199,
    "rules": "storage.rules"
  },
}

Now, it's ready to start emulators.

Update

Thank you everyone for warning about the change in the newer versions. With the latest version, storage.rules should be defined at the top level in your firebase.json:

"emulators": {
  "storage": {
    "port": 9199
  },
},
"storage": {
  "rules": "storage.rules"
}
like image 167
Stewie Griffin Avatar answered Dec 13 '25 11:12

Stewie Griffin



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!