<div dir="ltr"><div class="markdown-here-wrapper" style=""><p style="margin:1.2em 0px!important"></p><div class="markdown-here-exclude"><p></p><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class=""><div class="h5"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Also, how about the integration with docker? Is it really so painless as<br>
it is advertised? If I’ve understood correctly, I could install the<br>
docker image with stackage packages already installed, and tell stack<br>
to use that image with docker, having the site compilation sandboxed.<br>
Is it feasible?<br></blockquote></div></div></div></div></blockquote><p></p></div><p style="margin:1.2em 0px!important"></p>
<p style="margin:1.2em 0px!important">The compilation is sandboxed, but <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;display:inline">~/.stack</code> is still used for things like default configuration and the build plan cache, and <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;display:inline"><project>/.stack-work</code> is still used for build artifacts.  Otherwise, every build would have to start completely from scratch (since each stack build creates a new container).</p>
<p style="margin:1.2em 0px!important">If you need complete isolation from anything on the host OS, you’re better off running stack from within a Docker container you create yourself (using <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;display:inline">docker run</code>).  You can still use the <a href="https://hub.docker.com/u/fpco/">images we publish</a>, you just wouldn’t be using setting <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;display:inline">docker: true</code> in your stack.yaml.</p>
<div title="MDH:PGJyPjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+PGJs
b2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOiAwcHggMHB4IDBweCAw
LjhleDsgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDsgYm9yZGVyLWxlZnQtY29sb3I6IHJnYigyMDQs
IDIwNCwgMjA0KTsgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkOyBwYWRkaW5nLWxlZnQ6IDFleDsi
PjxkaXYgY2xhc3M9IiI+PGRpdiBjbGFzcz0iaDUiPjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48
ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBz
dHlsZT0ibWFyZ2luOiAwcHggMHB4IDBweCAwLjhleDsgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDsg
Ym9yZGVyLWxlZnQtY29sb3I6IHJnYigyMDQsIDIwNCwgMjA0KTsgYm9yZGVyLWxlZnQtc3R5bGU6
IHNvbGlkOyBwYWRkaW5nLWxlZnQ6IDFleDsiPgpBbHNvLCBob3cgYWJvdXQgdGhlIGludGVncmF0
aW9uIHdpdGggZG9ja2VyPyBJcyBpdCByZWFsbHkgc28gcGFpbmxlc3MgYXM8YnI+Cml0IGlzIGFk
dmVydGlzZWQ/IElmIEnigJl2ZSB1bmRlcnN0b29kIGNvcnJlY3RseSwgSSBjb3VsZCBpbnN0YWxs
IHRoZTxicj4KZG9ja2VyIGltYWdlIHdpdGggc3RhY2thZ2UgcGFja2FnZXMgYWxyZWFkeSBpbnN0
YWxsZWQsIGFuZCB0ZWxsIHN0YWNrPGJyPgp0byB1c2UgdGhhdCBpbWFnZSB3aXRoIGRvY2tlciwg
aGF2aW5nIHRoZSBzaXRlIGNvbXBpbGF0aW9uIHNhbmRib3hlZC48YnI+CklzIGl0IGZlYXNpYmxl
Pzxicj48L2Jsb2NrcXVvdGU+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjxk
aXY+PGJyPjwvZGl2PjxkaXY+VGhlIGNvbXBpbGF0aW9uIGlzIHNhbmRib3hlZCwgYnV0IGB+Ly5z
dGFja2AgaXMgc3RpbGwgdXNlZCBmb3IgdGhpbmdzIGxpa2UgZGVmYXVsdCBjb25maWd1cmF0aW9u
IGFuZCB0aGUgYnVpbGQgcGxhbiBjYWNoZSwgYW5kIGAmbHQ7cHJvamVjdCZndDsvLnN0YWNrLXdv
cmtgIGlzIHN0aWxsIHVzZWQgZm9yIGJ1aWxkIGFydGlmYWN0cy4gJm5ic3A7T3RoZXJ3aXNlLCBl
dmVyeSBidWlsZCB3b3VsZCBoYXZlIHRvIHN0YXJ0IGNvbXBsZXRlbHkgZnJvbSBzY3JhdGNoIChz
aW5jZSBlYWNoIHN0YWNrIGJ1aWxkIGNyZWF0ZXMgYSBuZXcgY29udGFpbmVyKS48L2Rpdj48ZGl2
Pjxicj48L2Rpdj48ZGl2PklmIHlvdSBuZWVkIGNvbXBsZXRlIGlzb2xhdGlvbiBmcm9tIGFueXRo
aW5nIG9uIHRoZSBob3N0IE9TLCB5b3UncmUgYmV0dGVyIG9mZiBydW5uaW5nIHN0YWNrIGZyb20g
d2l0aGluIGEgRG9ja2VyIGNvbnRhaW5lciB5b3UgY3JlYXRlIHlvdXJzZWxmICh1c2luZyBgZG9j
a2VyIHJ1bmApLiAmbmJzcDtZb3UgY2FuIHN0aWxsIHVzZSB0aGUgW2ltYWdlcyB3ZSBwdWJsaXNo
XShodHRwczovL2h1Yi5kb2NrZXIuY29tL3UvZnBjby8pLCB5b3UganVzdCB3b3VsZG4ndCBiZSB1
c2luZyBzZXR0aW5nIGBkb2NrZXI6IHRydWVgIGluIHlvdXIgc3RhY2sueWFtbC48L2Rpdj48ZGl2
PiZuYnNwOzwvZGl2PjwvZGl2PjwvZGl2Pg==" style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0">​</div></div></div>