create - Create an app

heroku create sushi
git push heroku master

access - Collaboration

Manage collaborators

heroku access                     # List
heroku access:add me@xy.com
heroku access:remove me@xy.com

Transfer to another owner

heroku apps:transfer new@owner.com

logs - Show logs

heroku logs
heroku logs -t      # --tail (stream)
heroku logs -s app  # --source (only on app logs)

releases

heroku releases
heroku releases:info v25
heroku rollback

pg - PostgreSQL

Start a database

heroku addons:add heroku-postgresql

Enable backups

heroku addons:add pgbackups:auto-month

See: Heroku PostgreSQL (devcenter.heroku.com)

config - Environment var configuration

Listing

heroku config        # List
heroku config -s     # List in shell format

Getting

heroku config:get KEY

Setting

heroku config:set KEY=val
heroku config:set KEY1=val KEY2=val ...
heroku config:unset KEY1

apps - Applications

heroku apps                  # list
heroku apps:create [NAME]
heroku apps:destroy --app APP
heroku apps:info
heroku apps:open             # open in browser
heroku apps:rename NEWNAME

maintenance

heroku maintenance:on
heroku maintenance:off

Processes

ps - Managing processes

heroku ps              # list
heroku ps:scale web=1  # spawn more dynos

restart

heroku restart

run - Running tasks

heroku run bash
heroku run console                  # Rails console
heroku run rake assets:precompile

Domains

domains - Custom domains

Add both!

heroku domains:add example.com
heroku domains:add www.example.com

Removing

heroku domains:clear
heroku domains:remove example.com

See: Custom domains (devcenter.heroku.com)

Wildcard domains

heroku addons:add wildcard_domains
*.yourdomain.com => heroku.com

Other tricks

htpasswd (for PHP apps)

Create an .htaccess file in the webroot:

AuthUserFile /app/www/.htpasswd
AuthType Basic
AuthName "Restricted Access"
Require valid-user

Create a .htpasswd file:

$ htpasswd -c .htpasswd [username]

See: gist.github.com

References