Getting Started
Installation Steps
Ready to supercharge your Firebase project with Dogen? The Dogen Application Platform extension installs in about 5 minutes. Here's your step-by-step guide to getting everything up and running. Keep in mind a lot of this is just walking you through setting up a basic Firebase project. You may not need to do most of these steps if you already have a project set up.
Before You Begin
Before proceeding, please review our Terms of Service and Privacy Policy.
1. Set Up Your Firebase Project
Need a new Firebase project? No problem! Head over to the Firebase Console and:
- Click "Create a Project" and follow the setup wizard
- If you already have a project, you can skip this step
2. Enable the Blaze Plan
Firebase Extensions require the Blaze (pay-as-you-go) plan. Don't worry - you'll still get all the generous free tier benefits, and you can set budget alerts to control costs.
- In the Firebase Console, look for the Upgrade button in the left sidebar
- Follow the prompts to activate the Blaze plan
3. Configure Authentication
Let's set up user authentication if you haven't already done so:
- Go to Authentication → Sign-in method
- Enable Email/Password authentication
- Create an account for yourself if you haven't done so already. You'll need this user's email address later during extension installation to designate this user as an admin.
4. Add Dogen Security Rules for Firestore
Dogen relies on RBAC (Role Based Access Control) to manage user permissions. To get started you simply designate one of your existing users as a Dogen admin, and they will gain a specific token claim which you can then check for in your Firestore rules. Keep in mind only the users to whom you grant Dogen roles will actually have access to log into Dogen.
- If you don't have Firestore enabled, navigate to Build → Firestore Database in the Firebase Console
- Create a new database using Production mode
- Integrate these security rules to enable Dogen access:
rules_version = '2'; service cloud.firestore { function isDogenAuthenticated() { return request.auth != null && ('dogenRoles' in request.auth.token); } function isDogenAuthorized(role) { return isDogenAuthenticated() && ('admin' in request.auth.token.dogenRoles || role in request.auth.token.dogenRoles); } match /databases/{database}/documents { // Allow global access for admins match /{document=**} { allow read, write: if isDogenAuthorized('admin'); } } }
These default security rules grant admin users full read and write access. However, the rules are fully customizable to match your specific needs. The key requirement is that admin users have read/write access to all Dogen internal configuration collections and any collections you plan to manage through Dogen. Remember, Dogen is just a web client, its these security rules that provide access.
View Advanced Rules Example
rules_version = '2'; service cloud.firestore { function isDogenAuthenticated() { return request.auth != null && ('dogenRoles' in request.auth.token); } function isDogenAuthorized(role) { return isDogenAuthenticated() && ('admin' in request.auth.token.dogenRoles || role in request.auth.token.dogenRoles); } function isDogenUser(userId) { return isDogenAuthenticated() && request.auth.uid == userId; } match /databases/{database}/documents { // Allow global access for admins match /{document=**} { allow read, write: if isDogenAuthorized('admin'); } // Allow all authenticated users to read blueprint collections match /{collection}/{document=**} { allow read: if isDogenAuthenticated() && collection.matches('dogen_blueprint_.*'); } // Allow all authenticated users to read ALL config parameter settings match /dogen_application_config_parameter_settings/{document=**} { allow read: if isDogenAuthenticated(); } // Allow all authenticated users to read generations match /dogen_application_generations/{documentId} { allow read: if isDogenAuthenticated(); // Block access to generation subcollections match /{document=**} { allow read: if false; } } match /dogen_application_accounts/{userId} { // Allow users to read their own account document, but not write to it. // We disallow write access to this collection to prevent users from modifying their own roles. allow read: if isDogenUser(userId); // Do allow users to write to their own data subcollection to store general usage data like recently modified items. match /data/{document=**} { allow read, write: if isDogenUser(userId); } } } }
5. Add Dogen Security Rules for Storage
- Navigate to Build → Storage
- Set up your default storage bucket
- Apply these security rules to enable Dogen storage access:
rules_version = '2'; service firebase.storage { function isDogenAuthenticated() { return request.auth != null && ('dogenRoles' in request.auth.token); } function isDogenAuthorized(role) { return isDogenAuthenticated() && ('admin' in request.auth.token.dogenRoles || role in request.auth.token.dogenRoles); } match /b/{bucket}/o { match /{allPaths=**} { allow read, write: if isDogenAuthorized('admin'); } } }
6. Register the Dogen Web App
- Go to Project Settings → Your apps
- Click the web icon (</>) to add a new web app
- Register a new app, call it "Dogen", and save the Firebase config object - you'll need this in the next step
7. Install Dogen AP
Time to install the Dogen Application Platform extension! Click the button below to start the installation process:
Install Dogen APYou'll need to provide:
- Your email address for registration (make sure it's valid - you'll need to confirm it)
- Invitation code (optional - leave blank since we're in open registration)
- Dogen API key (if you have one)
- Preferred Google Cloud location for function deployment
- Admin user email (must match the account you created in step 4)
- Firebase config from step 6
- A random string to use as a webhook key salt
Once you've submit the form, the extension will start installing. You'll know its ready when you see "Processing complete" status message. In some cases you may need to refresh the page if it seems stuck "Processing". Shortly after, you'll receive an email with further instructions.
8. Confirm Your Project Via Email
Check your inbox for a verification email from Dogen. Click the confirmation link to activate your project.
9. Access Your Dogen AP
After confirming your project, we'll prepare your own custom Dogen AP web instance. You'll receive an email with your unique access link when your application is ready. Once you receive this email, you can log in using your admin credentials from step 4.
Next Steps
Once you've completed the setup, you can: