Skip to content
This repository has been archived by the owner. It is now read-only.
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 

Heroku Haskell Stack Docker Image

An image for deploying Haskell/Stack applications to Heroku.

Usage

Create your own Dockerfile inheriting from this image:

FROM thoughtbot/heroku-haskell-stack

Create a stack-bootstrap file containing large dependencies for your application. For example:

alex classy-prelude-yesod happy yesod-bin yesod

These dependencies will be installed in their own Docker layer, so changing your cabal file will not cause them to be reinstalled every time.

Build your image:

docker build .

Here's a sample bin/deploy script you can use in your Heroku project, assuming you already have the heroku-docker Heroku plugin installed:

#!/bin/sh

set -e

if [ $# -ne 1 ]; then
  echo "Usage: ./bin/deploy (staging|production)"
  exit 1
fi

if [ $(uname) = "Darwin" ]; then
  eval "$(docker-machine env default)"
fi

heroku docker:release --remote "$1"
heroku open --remote "$1"

Running a script before building

Many applications need to do something before running the actual Stack build, such as compiling CSS. You can put commands in bin/pre-build and this Dockerfile will run them before building the application.

About

Docker image for deploying Haskell/Stack applications to Heroku

Resources

Sponsor this project

 

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •