Login

Install on Heroku

Heroku is a PaaS (Platform as a Service) that allows you to deploy applications without worrying about the underlying infrastructure. This guide walks through deploying GRAX on Heroku. Please note that all GRAX Heroku deployments are "GRAX-Managed" and a GRAX service account must be given access to your Heroku team to manage the application.

Prerequisites

  1. Create an Enterprise Account within Heroku. If you already have an Enterprise account, you may use it here.
  2. Create an Enterprise Team within your Enterprise Account specifically for use with GRAX.
  3. Create a Private Space within your Enterprise Team.
  4. Contact GRAX Support requesting the username of the GRAX service account that will be used to deploy and manage the application. Once you have this information, add the GRAX service account to your Enterprise Team as an "Admin".

Maintenance

The GRAX application installed on Heroku takes advantage of GRAX's automatic update tools, meaning that it automatically updates to the latest version of GRAX every day. This ensures that you always have the latest features and bug fixes without needing to manually update the application. Short of configuration changes or database maintenance, you should not need to interact with the Heroku application directly.

Accessing the Application

By default, Heroku applications generate a random URL at which the application will be hosted. This can be discovered by clicking the "Open App" button on the Heroku application's dashboard. If you are interested in setting up a custom domain, this can be accomplished via the Heroku application's "settings" page whenever you'd like.

Installation Steps

To quickly and easily deploy a GRAX app on Heroku:

  1. Click the "Deploy to Heroku" button below. This will create a new Heroku app, provision a Heroku Postgres database add-on, and deploy the GRAX application.
  2. Once the deployment is complete, click the "Open App" button on the Heroku application's dashboard, copy the URL value, and add it to the application settings as "WEB_APP_URL."

Deploy to Heroku

Here is an equivalent set of commands to deploy the GRAX application via the Heroku CLI. Production deployments may include additional configuration for teams, spaces, production-sized dynos and databases, and GRAX license keys.

# clone the grax app
git clone https://github.com/graxinc/grax-heroku
cd grax-heroku

# create app, addons and config
heroku create grax-quickstart --buildpack=https://github.com/heroku/heroku-buildpack-inline
heroku addons:create heroku-postgresql --as DATABASE
heroku config:set \
  GRAX_TEMPLATE_VERSION=heroku:v1.0.0 \
  SELFSIGNEDCERT=0 \
  SECRET_STORE_BASE=$(uuidgen) \
  WEB_APP_URL=$(heroku apps:info --json | jq -r '.app.web_url')

# deploy the grax app
git push heroku main
remote: -----> Building on the Heroku-22 stack
remote: -----> GRAX app detected
remote: -----> Launching...
remote:        Released v5
remote:        https://grax-quickstart-0b850c36d14e.herokuapp.com/ deployed to Heroku
remote: 
remote: Verifying deploy... done.