fpco / rdr2tls

Haskell web service that redirects all traffic from HTTP to HTTPS
MIT License
52 stars 5 forks source link

haskell-scratch 404 #1

Open MichaelXavier opened 9 years ago

MichaelXavier commented 9 years ago

Hi,

I was interested in getting a reasonable starting runtime for haskell projects, which seems to be the various flavors of haskell-scratch. They don't seem to be up on docker hub. If you clone this project and attempt to build it, haskell-scratch will 404. I realize that fpo/rdr2tls is published, but it would be really useful to have the starting point sans rdr2tls public.

dysinger commented 9 years ago

That's expected. We don't yet have haskell-scratch images on dockerhub. Here's why: I built haskell-scratch locally first. I was using a fork of haskell-scratch which scoops up the libs from the host (your desktop) & puts them in the image. This way the compiled code & the libs that went into haskell-scratch are exactly the same. I'm on Ubuntu 15.04 but someone else (or some other company) might build on ubuntu 12.04 (like in a travisci run for example). I wanted my haskell-scratch base image to work for me locally. In a company or shared setting you'd have a standard haskell-scratch image.

If you have access to a Debian/Ubuntu box with Docker installed you can build the image in a minute. Checkout my fork for this dynamic approach of using the host O.S.'s libs. https://github.com/dysinger/haskell-scratch If you want to use it on a team then you'd push that image to your dockerhub account (or internal docker registry) where everyone can use it (with the caveat that they understand they need to build their haskell code on the same version of Ubuntu/Debian).

MichaelXavier commented 9 years ago

Interesting. Please let me know if there's a different forum for us to discuss this, as it doesn't directly pertain to rdr2tls: I'm curious what the pattern is for having a stable build environment. Obviously for local development you want to use your native GHC install and whatnot, but if you have coworkers with different setups (different linux versions, maybe some use Macs), you may want a docker image for CI that will have a fixed state, will grab your project, compile it and then produce a runtime image.