Closed ivanoats closed 8 years ago
Snap has been fine. I used to use HAppStack and it leaked file handles until it crashed, so that was no good. I am not willing to switch to Yesod.
I am paying DigitalOcean $5 per month to host this server and have full control over things. I can use whatever GHC is necessary.
I'm not in love with Haskell for servers though. It's fine when it works, but maybe there is a better route. The nice things about it are:
elm-make
. In theory, this makes the /try
page snappier. It has all the necessary modules in memory, so there are no disk reads, which is the slowest part of compilation. (The right answer may be to split out the "compiler-as-a-service" to a particular domain that just does this stuff in particular.)On start up, the Haskell server compiles all the necessary Elm files, then serves them itself. So we just need to change the second half of that. Maybe put the static files at elm-lang.github.io/elm-lang.org and make elm-lang.org point there. Not sure if that's 100% possible, but it sounds pretty straight-forward.
I like the idea of moving the /try to try.elm-lang.org and having the rest of the site static.
Before then I'm happy to help with setting up monit on the current infrastructure. I will learn more about Snap before I comment on that.
I'd be happy to help move things to a static site generator if that is the direction that folks want to go.
Hugo is a great one that ships with static binaries so there isn't another language runtime to install. https://gohugo.io/overview/installing/
No more actions to take here.
Some progress has been made on reliability. It may be worth adding the overall project here to https://github.com/elm-lang/projects so it can happen independent of me.
Let's think about scaling and reliability as the elm language, and the home page gets more popular.
What's the best Haskell deployment option? I'm not super familiar with this myself. It looks like some people are doing Docker containers on AWS Elastic Beanstalk. Do people think this is a good route?
https://www.reddit.com/r/haskell/comments/33s0vw/how_do_you_run_haskell_on_an_amazon_ec2_cluster/cqo36ee
Heroku also has Haskell buildpacks https://haskellonheroku.com/