Creating Apps from the CLI
Last updated December 02, 2021
Table of Contents
The app is the fundamental unit of organization on Heroku. Each app can be associated with its own set of provisioned add-ons.
Creating a named app
After creating an app, you will probably want to git push to deploy and add collaborators so that others can deploy changes as well.
To create a new app named “example”, install the Heroku CLI and run the following command:
$ heroku create example
Creating ⬢ example... done
https://example.herokuapp.com/ | https://git.heroku.com/example.git
The command’s output shows that the app will be available at http://example.herokuapp.com
. The second URL, https://git.heroku.com/example.git
, is the remote git repository URL; by default, the heroku create
command automatically adds a git remote named “heroku” pointing at this URL.
heroku create
is a shorthand alias for heroku apps:create
. You can see a list of all commands with heroku help
.
Typically, this command will only be used on an initialized git repository. In that case, the command creates the application as well as a git remote, that you can use to push your code to Heroku:
$ mkdir example
$ cd example
$ git init
$ heroku apps:create example
Creating ⬢ example... done
https://example.herokuapp.com/ | https://git.heroku.com/example.git
Git remote heroku added
Creating an app without a name
The app name argument (“example”) is optional. If no app name is specified, a random name will be generated.
$ heroku create
Creating app... done, ⬢ mystic-wind-83
Created http://mystic-wind-83.herokuapp.com/ | git@heroku.com:mystic-wind-83.git
Since Heroku app names are in a global namespace, you can expect that common names, like “blog” or “wiki”, will already be taken. It’s often easier to start with a default name and rename the app later.
Welcome page
Once your new app is created, before any code has been deployed, Heroku will display a generic welcome message to its visitors. This page is served with HTTP status code 502 to indicate that the app is not yet running.