Deploying Suave to Heroku
Suave web sites can be as simple as a single F# script which starts a web server, or a full project.
Your application needs to be either a single script
app.fsx (plus a Heroku
dummy.sln file) OR
a directory with a
.sln solution (plus a Heroku
Optionally, you can have a
Either way, your application must start a web server that binds to 0.0.0.0:$PORT.
Procfile must specify how the application starts.
If you don’t have an app.fsx already that implements your website, then clone an example, putting it in a new directory (replace myproj by a unique project name)
You can one-click-deploy the Suave sample to Heroku by clicking the button below.
Or deploy the sample from the CLI.
Install the Heroku Toolbelt and login to Heroku using the command-line tools:
Clone the sample:
git clone https://github.com/SuaveIO/heroku-getting-started.git myproj cd myproj
Create a new heroku web app and register “heroku” as a remote you can push to:
heroku create myproj --buildpack https://github.com/SuaveIO/mono-script-buildpack.git
git push heroku master
When pushing, use an empty user name. You may need to use
git auth:token to get a app token to use as a password here.
You can change the buildpack being used at a later date (e.g. to update to a later version of Mono) using
heroku buildpack:set https://github.com/your-build-pack-repo
If using github or bitbucket, find your app on Heroku and enable automatic deploy so you don’t need to push explciitly.
You can look at logs from your web server script using