157 words
1 minute
Firebase Emulators easy start with backup and restore

This one is going to be quick and easy. Firebase has emulators that let you simulate a firebase environment locally. These emulators run in docker containers. This config will give you a docker container with the emulators installed and expose all the ports that you need to have exposed.

Add these files to the root of you project

Dockerfile

FROM node:lts VOLUME ["/firebase"] WORKDIR /firebase RUN apt-get update RUN apt-get -y install default-jre RUN npm install -g firebase-tools ENV GOOGLE_APPLICATION_CREDENTIALS=/firebase/google_creds.json ENTRYPOINT ["firebase", "emulators:start", "--import=/firebase/emulator-data", "--export-on-exit"]

docker-compose.yaml

version: "3.9" services: firebase_emulators: build: "." restart: always volumes: - .:/firebase ports: - "8080:8080" - "9099:9099" - "5001:5001" - "9199:9199" - "4500:4500" - "4400:4400" - "4000:4000" - "9299:9299" - "5000:5000" - "8085:8085"

One thing to note, you do need your Google credentials file which you can get from the firebase console.

To run your emulators, docker-compose up. When you want to save the data, docker-compose down. Do note, the data will be saved in a folder named emulator-data

Firebase Emulators easy start with backup and restore
https://edwardbeazer.com/posts/firebase-emulators-easy-start-with-backup-and-restore/
Author
Edward Beazer
Published at
2024-01-05