Aurabase Logo
aurabasedocs
docs›Guides›Firebase Migration

Migrate from Firebase

Step-by-step guide to moving your Firestore data, Firebase Auth users, and buckets to Aurabase's open, high-performance infrastructure.

11 min read·Level intermediate·Revised on Aug 19, 2026
This English text was generated automatically from the French original and has not been reviewed yet.
#
Comparison

Matching Firebase Bricks

Aurabase replaces each proprietary Firebase component with standard, open, self-hosting technology without vendor lock-in:

FirebaseAurabaseAurabase Advantage

Cloud FirestoreHigher equivalent PostgreSQL (relational + SQL) OR Aurabase NoSQL (MongoDB-style)

Firebase AuthSame & enriched Same OAuth support, MFA TOTP, magic links, password

Firebase StorageSame & enriched S3 MinIO REST API with on-the-fly image transformations

Cloud FunctionsSameEdge Functions Deno standard (Deno.serve()) + WASM

Security RulesSuperiorPostgres RLS (Row-Level Security) evaluated directly in base

Firebase Realtime DBSameAurabase Realtime (CDC, Presence, Broadcast via NATS/WebSockets)

#
Map

4-step roadmap

  1. Schema & Data — Choice of model (PostgreSQL relational or NoSQL collections) and import (15 min)
  2. Authentication — Export Firebase Auth users and import scrypt/bcrypt hashes without reset (10 min)
  3. Storage files — Synchronization of Cloud Storage buckets to Aurabase Storage (variable depending on volume)
  4. SDK replacement — Replacing firebase/* with @aurabase/aurabase-js
#
Data

From Firestore to Aurabase

You can either normalize your data in PostgreSQL to take advantage of the power of SQL and strict typing, or import it directly into Aurabase's NoSQL Document Store engine:

import-firestore.shbash
# 1. Export Firestore to JSONL file
npx firestore-export --serviceAccount credentials.json --output firestore-export.jsonl

# 2. Import into the Aurabase NoSQL engine
aura db nosql-import firestore-export.jsonl --collection users --project-id <id>

# 3. Generating complete TypeScript types
aura db generate > src/aurabase.types.ts
#
Auth

Frictionless user migration

Thanks to support for Firebase's password hashing algorithms (scrypt, bcrypt, Argon2id), your users keep their credentials without having to reset their password:

migrate-auth.shbash
# Exporting users from Firebase CLI
firebase auth:export users.json --format=JSON --project my-firebase-app

# Import into Aurabase Auth (preserves hashes & tokens)
aura auth import users.json --provider firebase --env prod
#
Storage

Synchronizing S3 buckets

Aurabase Storage uses a standard S3 API. You can sync your files continuously from Google Cloud Storage with the rclone or aws-cli utility:

sync-buckets.shbash
# Direct transfer from GCS to Aurabase Storage
rclone sync gcs:my-firebase-bucket s3:aurabase-storage-bucket \
  --s3-endpoint https://api.aurabase.cloud/v1/storage/$PROJECT_ID \
  --s3-access-key-id $SERVICE_ROLE_KEY \
  --progress
#
Code

Replacing the Client SDK

comparison.tstypescript
// BEFORE (Firebase)
import { getFirestore, doc, getDoc } from 'firebase/firestore'
const snap = await getDoc(doc(db, 'users', 'u1'))
const user = snap.data()

// AFTER (Aurabase)
import { createClient } from '@aurabase/aurabase-js'
const { data: user } = await aura.from('users').select('*').eq('id', 'u1').single()
Last updated · Aug 19, 2026