Heroku+Ghost+Docker = ?

I've briefly already mentioned my upgrade process but that was only about the docker image at the time.

Now it's about heroku :)

I'm going to keep it short as always:

  1. docker pull fixer/ghostfixer:latest
  2. Add the secret sauce to your ~/.bash_aliases
#Log in to the heroku docker registry
alias herokud="docker login --username=_ --password=$(heroku auth:token) registry.heroku.com"

#Upgrade the heroku instance to the latest available image
upgrade-ghost () {
 herokud
 docker tag fixer/ghostfixer:latest registry.heroku.com/$1/web
 docker push registry.heroku.com/$1/web
}
  1. source ~/.bash_aliases
  2. upgrade-ghost <appname>
  3. check if all is well: heroku logs -t -a <appname>

Note: always back up everything before you start an update/upgrade process! You can of course use heroku releases:rollback but that only takes care of the app files and not your db..

Check stuff -yeah yourself- before you push it to "production"

Hence my next few lines of ~/.bash_aliases

#Spin up a ghost image
alias boot-ghost="docker run -d -p 127.0.0.1:2368:2368 fixer/ghostfixer:latest"

#Kill the ghost instance
kill-ghost () {
  docker ps --filter ancestor=fixer/ghostfixer:latest -q | xargs -r docker stop
  docker ps --filter ancestor=fixer/ghostfixer:latest -q -f status=exited | xargs -r docker rm
}

Read more about the heroku container registry