Running Backstage Locally
To develop a plugin or contribute to the Backstage project, we recommend cloning the Backstage repository and running locally in development mode. If you are not trying to contribute, follow the instructions to Create an App instead.
Prerequisites
- Node.js
First make sure you are using Node.js with an Active LTS Release. This is made easy with a version manager such as nvm which allows for version switching.
# Installing current LTS release
nvm install --lts
> Installing latest LTS version.
> Downloading and installing node v14.15.1...
> Now using node v14.15.1 (npm v6.14.8)
# Checking your version
node --version
> v14.15.1
- Yarn
Please refer to the installation instructions for Yarn.
- Docker
We use Docker for few of our core features. So, you will need Docker installed locally to use features like Software Templates and TechDocs. Please refer to the installation instructions for Docker.
Clone and Build
To get up and running with a local Backstage to evaluate it, let's clone it off of GitHub and run an initial build.
# Start from your local development folder
git clone --depth 1 git@github.com:backstage/backstage.git
cd backstage
# Fetch our dependencies and run an initial build
yarn install
yarn tsc
yarn build
Phew! Now you have a local repository that's ready to run and to add any open source contributions into.
We are now going to launch two things: an example Backstage frontend app, and an example Backstage backend that the frontend talks to. You are going to need two terminal windows, both starting from the Backstage project root.
In the first window, run
# From your Backstage root directory
yarn --cwd packages/backend start
That starts up a backend instance on port 7007.
In the other window, we will then launch the frontend. This command is run from the project root, not inside the backend directory.
yarn start
That starts up the frontend on port 3000, and should automatically open a browser window showing it.
Authentication
When Backstage starts, you can choose to enter as a Guest user and start exploring.
But you can also set up any of the available authentication methods. The easiest option will be GitHub. To setup GitHub authentication in Backstage, see these instructions.
Congratulations! That should be it. Let us know how it went on discord, file issues for any feature or plugin suggestions, or bugs you have, and feel free to contribute!
Creating a Plugin
The value of Backstage grows with every new plugin that gets added. Here is a collection of tutorials that will guide you through setting up and extending an instance of Backstage with your own plugins.