Created
June 15, 2016 14:50
-
-
Save maerten/64fe17e019d7090c96788b5775c3efe8 to your computer and use it in GitHub Desktop.
Dockerfile.haskell-ghc8-stack-base
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# www.surveyparrot.com docker base image, used for projects with GHC8 / stack / servant | |
# | |
# This image takes a while to build, so the recommended way is to use it as a base-image, | |
# occasionally adding your projects' dependencies and rebuilding this base image. | |
# | |
# Build with: | |
# | |
# $ docker build -t haskell-ghc8-stack-base -f Dockerfile.haskell-ghc8-stack-base . | |
# | |
# Then in your projects Dockerfile use: | |
# | |
# FROM haskell-ghc8-stack-base:latest | |
# | |
FROM debian:jessie | |
MAINTAINER Maarten Veenstra <[email protected]> | |
USER root | |
ENV LANG en_US.UTF-8 | |
ENV DEBIAN_FRONTEND noninteractive | |
# Dependencies | |
RUN apt-get update && apt-get install -y software-properties-common | |
# MariaDB key | |
RUN apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db | |
RUN add-apt-repository 'deb http://ftp.nluug.nl/db/mariadb/repo/10.0/debian jessie main' | |
RUN apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends \ | |
bzip2 \ | |
ca-certificates \ | |
curl \ | |
gcc \ | |
libc6-dev \ | |
libgmp-dev \ | |
libgmp10 \ | |
make \ | |
patch \ | |
zlib1g-dev \ | |
llvm \ | |
lib32z1-dev \ | |
libpcre3-dev \ | |
libmariadbclient-dev \ | |
libssl-dev \ | |
zlib1g-dev \ | |
wget | |
# FPcomplete key | |
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 575159689BEFB442 | |
RUN echo 'deb http://download.fpcomplete.com/debian jessie main'| tee /etc/apt/sources.list.d/fpco.list | |
# Install Haskell stack | |
RUN apt-get update && apt-get install stack -y | |
ENV PATH /root/.local/bin:$PATH | |
RUN apt-get install pkg-config | |
RUN stack update && stack upgrade && stack --resolver nightly setup | |
# | |
# preload some packages for faster project builds | |
# | |
# (You can add and remove any packages to optimize for image size / build speed) | |
RUN stack --resolver nightly install bytestring \ | |
directory \ | |
http-types \ | |
js-jquery \ | |
lucid \ | |
random \ | |
time \ | |
transformers \ | |
transformers-compat \ | |
wai \ | |
wai-extra \ | |
warp \ | |
text \ | |
mtl \ | |
resourcet \ | |
monad-logger \ | |
http-media \ | |
case-insensitive \ | |
wai-middleware-static \ | |
wai-app-static \ | |
containers \ | |
network-uri \ | |
unordered-containers \ | |
utf8-string \ | |
cookie | |
RUN stack --resolver nightly install \ | |
Diff \ | |
HUnit \ | |
QuickCheck \ | |
asn1-encoding \ | |
asn1-parse \ | |
asn1-types \ | |
attoparsec \ | |
bifunctors \ | |
blaze-builder \ | |
blaze-textual \ | |
bytestring-builder \ | |
charset \ | |
comonad \ | |
contravariant \ | |
control-monad-omega \ | |
distributive \ | |
doctest \ | |
double-conversion \ | |
expiring-cache-map \ | |
filemanip \ | |
ghc-paths \ | |
hourglass | |
RUN stack --resolver nightly install hspec \ | |
hspec-core \ | |
hspec-discover \ | |
hspec-expectations \ | |
http-client \ | |
http-media \ | |
js-jquery \ | |
language-ecmascript \ | |
lucid \ | |
parallel \ | |
psqueues \ | |
quickcheck-instances \ | |
quickcheck-io \ | |
reflection \ | |
resource-pool \ | |
scientific \ | |
semigroups \ | |
setenv \ | |
should-not-typecheck \ | |
streaming-commons \ | |
string-conversions \ | |
system-filepath \ | |
tagshare \ | |
testing-feat \ | |
tf-random \ | |
tls \ | |
uniplate \ | |
url \ | |
vault \ | |
void | |
RUN stack --resolver nightly install wai \ | |
wai-logger \ | |
wai-middleware-static \ | |
with-location \ | |
wl-pprint \ | |
x509 x509-store x509-system x509-validation \ | |
auto-update base-compat control-monad-omega \ | |
file-embed js-jquery cryptonite split \ | |
StateVar tagged blaze-builder blaze-markup blaze-html \ | |
parsec network-uri psqueues | |
RUN stack --resolver nightly install bytestring-conversion \ | |
control-monad-omega \ | |
entropy \ | |
bcrypt \ | |
adjunctions \ | |
kan-extensions \ | |
lens | |
RUN stack --resolver nightly install haskell-lexer \ | |
js-jquery \ | |
happy \ | |
network-info \ | |
pretty-show \ | |
safe \ | |
simple-sendfile | |
RUN stack --resolver nightly install cereal \ | |
base64-string \ | |
data-default-instances-base \ | |
data-default-instances-containers \ | |
data-default-instances-dlist \ | |
data-default-instances-old-locale \ | |
data-default \ | |
mime-mail \ | |
HaskellNet \ | |
socks | |
RUN stack --resolver nightly install \ | |
HaskellNet \ | |
HaskellNet-SSL \ | |
MonadRandom \ | |
StateVar \ | |
adjunctions \ | |
aeson \ | |
aeson-compat \ | |
aeson-pretty \ | |
ansi-terminal \ | |
ansi-wl-pprint \ | |
appar \ | |
asn1-encoding \ | |
asn1-parse \ | |
asn1-types \ | |
async \ | |
attoparsec \ | |
base-compat \ | |
base-orphans \ | |
base-unicode-symbols \ | |
base16-bytestring \ | |
base64-bytestring \ | |
base64-string | |
RUN stack --resolver nightly install \ | |
bcrypt \ | |
bifunctors \ | |
blaze-builder \ | |
blaze-html \ | |
blaze-markup \ | |
blaze-textual \ | |
byteable \ | |
byteorder \ | |
bytestring-builder \ | |
bytestring-conversion \ | |
case-insensitive \ | |
cereal \ | |
charset \ | |
cmdargs \ | |
comonad \ | |
conduit \ | |
conduit-extra \ | |
connection \ | |
contravariant \ | |
control-monad-omega \ | |
cookie \ | |
cryptohash \ | |
cryptonite | |
RUN stack --resolver nightly install \ | |
data-default \ | |
data-default-class \ | |
data-default-instances-base \ | |
data-default-instances-containers \ | |
data-default-instances-dlist \ | |
data-default-instances-old-locale \ | |
distributive \ | |
dlist \ | |
double-conversion \ | |
easy-file \ | |
entropy \ | |
exceptions \ | |
fail \ | |
fast-logger \ | |
file-embed \ | |
free \ | |
happy \ | |
hashable \ | |
haskell-lexer | |
RUN stack --resolver nightly install \ | |
hex \ | |
hourglass \ | |
http-api-data \ | |
http-date \ | |
http-media \ | |
http-types \ | |
http2 \ | |
iproute \ | |
kan-extensions \ | |
lens \ | |
lens-aeson \ | |
lifted-base \ | |
lucid \ | |
memory \ | |
mime-mail \ | |
mime-types \ | |
mmorph \ | |
monad-control \ | |
monad-logger \ | |
monad-loops | |
RUN stack --resolver nightly install \ | |
mtl \ | |
nats \ | |
network \ | |
network-info \ | |
network-uri \ | |
old-locale \ | |
old-time \ | |
optparse-applicative \ | |
parallel \ | |
parsec \ | |
passwords \ | |
path-pieces \ | |
pcre-light \ | |
pem | |
RUN stack --resolver nightly install \ | |
prelude-extras \ | |
pretty-show \ | |
primitive \ | |
profunctors \ | |
psqueues \ | |
random \ | |
reflection \ | |
resource-pool \ | |
resourcet \ | |
safe \ | |
scientific \ | |
semigroupoids \ | |
semigroups \ | |
servant \ | |
servant-docs \ | |
servant-lucid \ | |
servant-server \ | |
silently \ | |
simple-sendfile | |
RUN stack --resolver nightly install \ | |
socks \ | |
split \ | |
stm \ | |
stm-chans \ | |
streaming-commons \ | |
string-conversions \ | |
stringsearch \ | |
syb \ | |
system-filepath \ | |
tagged \ | |
text \ | |
time-locale-compat \ | |
tls \ | |
transformers-base \ | |
transformers-compat \ | |
unix-compat \ | |
unix-time \ | |
unordered-containers | |
RUN stack --resolver nightly install \ | |
utf8-string \ | |
uuid \ | |
uuid-types \ | |
vault \ | |
vector \ | |
void \ | |
wai \ | |
wai-app-static \ | |
wai-cors \ | |
wai-extra \ | |
wai-logger \ | |
warp \ | |
word8 \ | |
x509 \ | |
x509-store \ | |
x509-system \ | |
x509-validation \ | |
zlib | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment