Skip to main content

Rowy Run

Rowy Run is group of Cloud Run services that provides backend functionality, such as action scripts, webhooks, user management, and easy Cloud Function deployment.

It operates exclusively on your GCP project, so we never have access to any of your data. Like the Rowy App, it’s completely open source and free to use. Rowy Run on GitHub

Auto Deployment/updates (recomended✅)

If you haven't deployed rowy already setup rowy already, you'll need get started here

To deploy or setup auto updates you can simply go through guided process here

Install Rowy Run (manually)

Required

Before starting, make sure you have a Google Cloud or Firebase project with Firestore and Firebase Authentication enabled, and upgraded to the Blaze Plan.

Don’t have a project? Learn how to create one 

Otherwise, you can install Rowy Run manually.

Required software
  1. Enable the Cloud Run Admin API in the Google Cloud console
    Make sure you have billing enabled first.

  2. Make sure you’ve initialized the gcloud CLI and signed in to the correct account.

    gcloud init
  1. go To GCP Cloud Console IAM
  • Add service account rowy-backend@YOUR_PROJECT_ID.iam.gserviceaccount.com assign it the following roles:
logging.viewer // provide access to logs for the frontend
logging.logWriter // log events such as auditing
iam.serviceAccountUser //used for cloud function deployment
artifactregistry.admin //used for cloud function deployment
cloudbuild.builds.builder //used for cloud function deployment
actions.Admin //used for cloud function deployment
cloudfunctions.admin //used for cloud function deployment
secretmanager.viewer // view secretmanager metadata, such as secret Names for IDE validation
firebaseauth.admin //used for managing user roles
datastore.user // access to firestore
storage.objectAdmin // access to storage
secretmanager.secretAccessor // access to secrets for actionScripts
  • Add service account rowy-hooks@YOUR_PROJECT_ID.iam.gserviceaccount.com assign it the following roles:
datastore.user // access to firestore
storage.objectAdmin // access to storage
secretmanager.secretAccessor // access to secrets for actionScripts
logging.logWriter // access to cloud logs
  1. Deploy cloud run services using your terminal
gcloud run deploy rowy-backend --image gcr.io/rowy-run/rowy-backend --platform managed --memory 1Gi --allow-unauthenticated --service-account rowy-backend@YOUR_PROJECT_ID.iam.gserviceaccount.com
gcloud run deploy rowy-hooks --image gcr.io/rowy-run/rowy-hooks --platform managed --memory 256Mi --allow-unauthenticated --service-account rowy-hooks@YOUR_PROJECT_ID.iam.gserviceaccount.com
Required project Id

Don't forget to replace "YOUR_PROJECT_ID" field with your actual firebase project Id.

  1. Once deployment is completed you should be able to find the service urls printed in the console.logs

Go to firestore console and navigate to _rowy_/settings document add the following keys

rowyRunUrl: YOUR_ROWY_BACKEND SERVICE URL
rowyRunServices:{
backend:YOUR_ROWY_BACKEND SERVICE URL
hooks:YOUR_ROWY_HOOKS SERVICE URL
}