Files
backstage/docs/deployment/heroku.md
T
Gabriel Dantas b72347b090 lint: docs style
Signed-off-by: Gabriel Dantas <gabriel.dantas98@outlook.com.br>
2022-02-03 10:15:54 -03:00

1.9 KiB

id, title, sidebar_label, description
id title sidebar_label description
heroku Deploying with Heroku Heroku How to deploy Backstage to Heroku

Heroku is a Platform as a Service (PaaS) designed to handle application deployment in a hands-off way. Heroku supports container deployment of Docker images, a natural fit for Backstage.

Configuring the CLI

First, install the heroku-cli and login:

$ heroku login

If you have not yet created a project through the Heroku interface, you can create it through the CLI.

$ heroku create <your-app>

You might also need to set your Heroku app's stack to container:

$ heroku stack:set container -a <your-app>

Configuring your app-config.yaml:

app:
  # Should be the same as backend.baseUrl when using the `app-backend` plugin
  baseUrl: https://<your-app>.herokuapp.com

backend:
  baseUrl: https://<your-app>.herokuapp.com
  listen:
    port:
      $env: PORT
      # The $PORT environment variable is a feature of Heroku
      # https://devcenter.heroku.com/articles/dynos#web-dynos

Make sure your file is being copied into your container in the Dockerfile.

Before building the Docker image, run the backstage host build commands. They must be run whenever you are going to publish a new image.

Heroku runs a container registry on registry.heroku.com. To push Backstage Docker images, log in to the container registry also:

$ heroku container:login

Push and deploy a Docker image

Now we can push a Backstage Docker image to Heroku's container registry and release it to the web worker:

$ docker image build . -f packages/backend/Dockerfile --tag registry.heroku.com/<your-app>/web

$ docker push registry.heroku.com/<your-app>/web

$ heroku container:release web -a <your-app>

Now you should have Backstage up and running! 🎉