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:
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
firebaseConfigvalues (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_EMAILvalue 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 sitesnam5(US, multi-region) for North Americaasia-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:
| Resource | Spark (free) limit | Typical CMS usage |
|---|---|---|
| Firestore document reads | 50k / day | ~5k / day (admin sessions) |
| Firestore document writes | 20k / day | ~50 / day (occasional saves) |
| Firestore document deletes | 20k / day | < 10 / day |
| Firestore stored data | 1 GB | ~50 MB for 1000 posts |
| Authentication users | unlimited | 1-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
- Firestore security rules — paste the CMS-specific rules that protect your data (uses the bootstrap admin email)
- Flexweg account setup — API key + allowed extensions