yesod-0.9.4: scaffold/deploy/Procfile.cg
# Free deployment to Heroku.
#
# !! Warning: You must use a 64 bit machine to compile !!
#
# This could mean using a virtual machine. Give your VM as much memory as you can to speed up linking.
#
# Basic Yesod setup:
#
# * Move this file out of the deploy directory and into your root directory
#
# mv deploy/Procfile ./
#
# * Create an empty package.json
# echo '{ "name": "~project~", "version": "0.0.1", "dependencies": {} }' >> package.json
#
# Postgresql Yesod setup:
#
# * add code to read DATABASE_URL environment variable.
#
# import System.Environment
# main = do
# durl <- getEnv "DATABASE_URL"
# # parse env variable
# # pass settings to withConnectionPool instead of directly using loadConnStr
#
# * add a dependency on the "heroku" package in your cabal file
#
# * add code in Settings.hs to turn that url into connection parameters. The below works for Postgresql.
#
# #ifdef !DEVELOPMENT
# import qualified Web.Heroku
# #endif
#
# dbConnParams :: AppEnvironment -> IO [(Text, Text)]
# #ifdef !DEVELOPMENT
# dbConnParams _ = Web.Heroku.dbConnParams
# #else
# dbConnParams env = do
# ...
#
#
# Heroku setup:
# Find the Heroku guide. Roughly:
#
# * sign up for a heroku account and register your ssh key
# * create a new application on the *cedar* stack
#
# * make your Yesod project the git repository for that application
# * create a deploy branch
#
# git checkout -b deploy
#
# Repeat these steps to deploy:
# * add your web executable binary (referenced below) to the git repository
#
# git checkout deploy
# git add ./dist/build/~project~/~project~
# git commit -m deploy
#
# * push to Heroku
#
# git push heroku deploy:master
# Heroku configuration that runs your app
web: ./dist/build/~project~/~project~ -p $PORT