Skip to main content

Installing your own instance

Requirements

  1. A Google Firebase project
  2. A Firebase Web App
  3. FireBase Hosting enabled
  4. Authentication with the Sign-in providers Email/Password enabled.
  5. Cloud Firestore
  6. Realtime Database
  7. Firebase CLI tools locally
  8. Create an application
  9. Your project must be on the Blaze pay as you go pricing plan
  10. Configure cors.json on the storage bucket](https://cloud.google.com/storage/docs/configuring-cors) to support your deployed origin. See: functions/src/config/cors.md

Deploying:

firebase use <my-new-project-id>
firebase deploy

Troubleshooting:

  1. Error: Can't determine Firebase Database URL If you see this message it is likely you skipped adding the Realtime Database. Easily done!

  2. The caller does not have permission This occurs more commonly when deploying from a CI environment, and usually signifies additional permissions are required for the service account that is used for deployment. You can view the service account details from the GCP Logs Explorer, filtering by severity and expanding to see more information.

    Examples of previously noted permissions required can be found in Deployment via CircleCI and Firestore DB Backup

Community Platform Maintainers

We deploy to our instances directly from the default branch of the git repository.

You will need to set up a CircleCI context for each target environment. This context should contain the following variables:

  • FIREBASE_TOKEN
  • GOOGLE_APPLICATION_CREDENTIALS_JSON
  • VITE_BRANCH
  • VITE_FIREBASE_API_KEY
  • VITE_FIREBASE_AUTH_DOMAIN
  • VITE_FIREBASE_DATABASE_URL
  • VITE_FIREBASE_MESSAGING_SENDER_ID
  • VITE_FIREBASE_PROJECT_ID
  • VITE_FIREBASE_STORAGE_BUCKET
  • VITE_GA_TRACKING_ID
  • VITE_THEME
  • VITE_CDN_URL - https://cdn-url.com - this is the URL to the CDN where the assets are stored. This is used to load the assets from the CDN instead of the local server. It should not include a trailing slash.
  • VITE_PLATFORM_PROFILES - comma separated list of available profiles. Use ProfileType from modules/profile/index for guidance here. For example: member,workspace
  • VITE_SUPPORTED_MODULES – comma separated list of available modules. See /src/modules/index.ts for the definitions.
  • VITE_API_URL – 'https://api-url.com' - this is the URL to the API service. It should not include a trailing slash.
  • SITE_NAME