Local Docker now runs explicit services instead of the legacy gorda toolbox container.
admin: Vue dev server onhttp://localhost:5005api: Node/Express + Socket.IO onhttp://localhost:3000functions: TypeScript watch/build sidecar for Firebase Functionsemulators: Firebase emulators UI and runtimepostgres: PostgreSQL/PostGIS onlocalhost:5432redis: Redis onlocalhost:6379ia: AI service onhttp://localhost:8000
cd dock
docker compose config
docker compose up -d --build postgres redis ia api functions emulators admin
docker compose logs -f api
docker compose exec admin sh -lc "npm run lint"
docker compose exec api sh -lc "npm run build"
docker compose exec functions sh -lc "npm run lint"
docker compose down- Firebase emulators now use
admin/firebase.jsonandadmin/dataEmulators. - Firestore is exposed locally on
localhost:8080; host-basedapiruns should setFIRESTORE_EMULATOR_HOST=localhost:8080. - Functions runtime execution stays inside the
emulatorsservice; thefunctionsservice only keepslib/updated. - The local stack keeps RTDB/Auth/Firestore/Storage emulation for operational flows and migration backfills, plus PostgreSQL for migrated datasets.