Production-ready Docker container for Firebase emulator suite.
docker run -d -p 5170-5179:5170-5179 charlesgreen/firebase-emulators:latestAccess the Emulator UI at http://localhost:5179
- Zero configuration required
- Multi-platform support (linux/amd64, linux/arm64)
- Security hardened with non-root user
- Health checks included
- Optional seed data for testing
- All Firebase emulators pre-configured
docker pull charlesgreen/firebase-emulators:latestservices:
firebase:
image: charlesgreen/firebase-emulators:latest
ports:
- "5170-5179:5170-5179"
environment:
- SEED_DATA=true| Service | Port | URL |
|---|---|---|
| Hub | 5170 | http://localhost:5170 |
| Auth | 5171 | http://localhost:5171 |
| Firestore | 5172 | http://localhost:5172 |
| Hosting | 5174 | http://localhost:5174 |
| Storage | 5175 | http://localhost:5175 |
| UI | 5179 | http://localhost:5179 |
| Variable | Default | Description |
|---|---|---|
FIREBASE_PROJECT_ID |
demo-project |
Firebase project ID |
SEED_DATA |
false |
Load sample data on startup |
- Node.js 20+
- Docker
- npm
npm install
npm run build
npm run testdocker build -t firebase-emulators .npm run test
npm run lint- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - see the LICENSE file for details