Skip to main content

Firebase project setup

Flexweg CMS uses Firebase for two things:

  • Authentication — admin / editor logins. Firebase handles passwords and sessions.
  • Firestore — document database holding your posts, pages, terms, media metadata, settings, plugin configs, user profiles.

The setup is the same as for any Firebase-backed Flexweg project, so it lives on its dedicated, shared page:

Follow the shared Firebase setup

Open the Firebase setup guide and complete Steps 1 to 19. When you're done, come back here.

You'll have:

  • A Firebase project with Firestore in production mode
  • Email/password authentication enabled
  • A bootstrap admin account (note its email — you'll paste it into the Firestore rules and the first-run setup form)
  • The 6 firebaseConfig values (apiKey, authDomain, projectId, storageBucket, messagingSenderId, appId) — paste them into the first-run setup form

The free Spark plan is enough for a typical CMS (< 50k document reads / day, 1 GB storage). You only upgrade if you have heavy traffic or many editors.

CMS-specific notes

A few things to watch when going through the shared setup, specific to Flexweg CMS:

Project name suggestion

Use <your-site>-cms (e.g. mysite-cms) so it's easy to identify the project later. The project ID is auto-generated and can't be changed.

What to enable — and what NOT to enable

Flexweg CMS uses only Authentication and Firestore. Don't enable:

  • Firebase Hosting — Flexweg hosts both the admin and the public site, not Firebase.
  • Firebase Storage — media files go to Flexweg via the Files API, not Storage.
  • Cloud Functions — there's no server code in Flexweg CMS.

The shared setup only enables Authentication + Firestore, so you're already good. Just don't accidentally turn the others on.

Note the admin email

The email + password you use for the bootstrap admin (Step 18 of the shared setup) becomes:

  • The VITE_ADMIN_EMAIL value pinned in your Firestore rules (see Firestore security rules)
  • The first login when you open /admin/ for the first time
  • The owner of the first user record created automatically on first login

Note it down before you move on.

Firestore region matters

When picking a region in Step 9, consider:

  • eur3 (Europe, multi-region) for Europe-centric sites
  • nam5 (US, multi-region) for North America
  • asia-northeast1 (Tokyo) for APAC

Multi-region is more reliable; single-region is fine for most sites. The CMS works on either, but the choice can't be reverted later.

Cost estimate

For a typical CMS with ~100 posts and a few editors, you'll comfortably stay on the Spark (free) plan:

ResourceSpark (free) limitTypical CMS usage
Firestore document reads50k / day~5k / day (admin sessions)
Firestore document writes20k / day~50 / day (occasional saves)
Firestore document deletes20k / day< 10 / day
Firestore stored data1 GB~50 MB for 1000 posts
Authentication usersunlimited1-10 typically

If you ever hit a limit, Firebase Blaze pricing is pay-as-you-go and stays cheap (~$0.06 per 100k reads).

Continue