Docker Composeでfirestoreのローカル環境を構築

2024.05.13
2024.05.13
Docker
Docker ComposeFirestore

はじめに

Docker Composeを使って、Firestoreのエミュレーターを構築してみます。

Firestoreのエミュレーター

Firestoreのエミュレーターは、Firebase Local Emulator Suiteの一つで、ローカルでFirestoreを動かすことができるエミュレーターです。

Firestoreの他にも、Realtime DatabaseやCloud Functionsなどのエミュレーターも提供されています。

Firebase ローカル エミュレータ スイートの概要  |  Firebase Local Emulator Suite

Firebase ローカル エミュレータ スイートの概要  |  Firebase Local Emulator Suite

Firebase Local Emulator Suite は、さまざまな Firebase プロダクト エミュレータを使用してアプリのビルドとテストをローカルで行うことのできる、デベロッパー向けの高度なツールセットです。機能が豊富なユーザー インターフェースを備えており、アプリの本稼働やプロトタイピングにかかる時間を短縮できます。

Docker Composeで構築

今回は、下記のイメージを使ってFirestoreのエミュレーターを構築します。

unknown link

Firestoreの設定ファイルの準備

まずは、Firebaseの設定ファイルfirebase.json.firebasercを作成します。

firebase.json
1{
2  "emulators": {
3    "singleProjectMode": true,
4    "firestore": {
5      "port": 8080,
6      "host": "0.0.0.0"
7    },
8    "ui": {
9      "enabled": true,
10      "host": "0.0.0.0",
11      "port": 4000
12    }
13  }
14}
.firebaserc
1{
2  "projects": {
3    "default": "test-project"
4  }
5}

docker-compose.yamlの作成

次に、docker-compose.yamlを作成します。

作成した設定ファイルをマウントして、4000ポートと8080ポートへポートフォワーディングをしています。

docker-compose.yaml
1version: "3"
2services:
3  firestore-emulator:
4    image: andreysenov/firebase-tools:latest
5    ports:
6      - "8080:8080"
7      - "4000:4000"
8    volumes:
9      - "./firebase.json:/home/node/firebase.json"
10      - "./.firebaserc:/home/node/.firebaserc"
11    command: ["firebase", "emulators:start"]

コンテナの起動

Docker Composeでコンテナを起動します。

1docker compose up -d

コンテナが起動したら、http://localhost:4000/でFirestoreのエミュレーターのUIにアクセスできます。Firestoreのエミュレーターのみ"Of"になっているのが確認できます。

"Go to firestore emulator"をクリックすると、FirestoreのエミュレーターのUIにアクセスできます。

参考

Support

\ この記事が役に立ったと思ったら、サポートお願いします! /

buy me a coffee
Share

Profile

author

Masa

都内のIT企業で働くエンジニア
自分が学んだことをブログでわかりやすく発信していきながらスキルアップを目指していきます!

buy me a coffee