Difference between revisions of "Web/Cloud"

From HaskellWiki
< Web
Jump to navigation Jump to search
(→‎OpenShift: out of memory error due to cabal bug)
(FP Haskell Center retired)
(4 intermediate revisions by the same user not shown)
Line 3: Line 3:
   
 
[http://en.wikipedia.org/wiki/Platform_as_a_service PaaS] (platform as a service) cloud providers generally limit you to a fixed technology stack. However, [https://www.openshift.com/developers/download-cartridges OpenShift] and [https://devcenter.heroku.com/articles/buildpacks Heroku] allow third-party extensions, which can be used to support Haskell.
 
[http://en.wikipedia.org/wiki/Platform_as_a_service PaaS] (platform as a service) cloud providers generally limit you to a fixed technology stack. However, [https://www.openshift.com/developers/download-cartridges OpenShift] and [https://devcenter.heroku.com/articles/buildpacks Heroku] allow third-party extensions, which can be used to support Haskell.
 
== DigitalOcean ==
 
 
[https://www.digitalocean.com/ DigitalOcean] gives you a clean server that you can SSH to. Supports Docker as well.
 
   
 
== OpenShift ==
 
== OpenShift ==
Line 12: Line 8:
 
{| class="wikitable"
 
{| class="wikitable"
 
! GHC version:
 
! GHC version:
| 7.8.4
+
| 8.0.1
 
|-
 
|-
 
! Author:
 
! Author:
Line 30: Line 26:
 
|-
 
|-
 
| network
 
| network
| [http://www.accursoft.com/cartridges/network.yml manifest]
+
| [https://jenkins-accursoft.rhcloud.com/userContent/network.yml manifest]
 
| [https://www.openshift.com/quickstarts/haskell quickstart]
 
| [https://www.openshift.com/quickstarts/haskell quickstart]
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fnetwork.yml deploy]
+
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=https%3A%2F%2Fwww.accursoft.com%2FuserContent%2Fnetwork.yml deploy]
 
|-
 
|-
 
| Yesod
 
| Yesod
| [http://www.accursoft.com/cartridges/yesod.yml manifest]
+
| [https://jenkins-accursoft.rhcloud.com/userContent/yesod.yml manifest]
 
| [https://www.openshift.com/quickstarts/yesod quickstart]
 
| [https://www.openshift.com/quickstarts/yesod quickstart]
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fyesod.yml deploy]
+
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=https%3A%2F%2Fwww.accursoft.com%2FuserContent%2Fyesod.yml deploy]
 
|-
 
|-
 
| Snap
 
| Snap
| [http://www.accursoft.com/cartridges/snap.yml manifest]
+
| [https://jenkins-accursoft.rhcloud.com/userContent/snap.yml manifest]
 
| [https://www.openshift.com/quickstarts/snap quickstart]
 
| [https://www.openshift.com/quickstarts/snap quickstart]
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fsnap.yml deploy]
+
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=https%3A%2F%2Fjenkins-accursoft.rhcloud.com%2FuserContent%2Fsnap.yml deploy]
 
|-
 
|-
 
| Happstack
 
| Happstack
| [http://www.accursoft.com/cartridges/happstack.yml manifest]
+
| [https://jenkins-accursoft.rhcloud.com/userContent/happstack.yml manifest]
 
| [https://www.openshift.com/quickstarts/happstack quickstart]
 
| [https://www.openshift.com/quickstarts/happstack quickstart]
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fhappstack.yml deploy]
+
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=https%3A%2F%2Fjenkins-accursoft.rhcloud.com%2FuserContent%2Fhappstack.yml deploy]
 
|-
 
|-
 
| MFlow
 
| MFlow
| [http://www.accursoft.com/cartridges/mflow.yml manifest]
+
| [https://jenkins-accursoft.rhcloud.com/userContent/mflow.yml manifest]
 
| [https://www.openshift.com/quickstarts/mflow quickstart]
 
| [https://www.openshift.com/quickstarts/mflow quickstart]
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fmflow.yml deploy]
+
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=https%3A%2F%2Fjenkins-accursoft.rhcloud.com%2FuserContent%2Fmflow.yml deploy]
 
|-
 
|-
 
| Scotty
 
| Scotty
| [http://www.accursoft.com/cartridges/scotty.yml manifest]
+
| [https://jenkins-accursoft.rhcloud.com/userContent/scotty.yml manifest]
 
| [https://www.openshift.com/quickstarts/scotty quickstart]
 
| [https://www.openshift.com/quickstarts/scotty quickstart]
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fscotty.yml deploy]
+
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=https%3A%2F%2Fjenkins-accursoft.rhcloud.com%2FuserContent%2Fscotty.yml deploy]
 
|}
 
|}
 
<code>cabal update</code> is likely to exceed the memory limit on small (free) gears due to [https://github.com/haskell/cabal/issues/2396 cabal issue #2396].
 
   
 
== Heroku ==
 
== Heroku ==
Line 95: Line 89:
   
 
Heroku buildpack for [https://github.com/agocorona/tryhplay tryhplay], incorporating [http://haste-lang.org/ Haste] and [https://github.com/agocorona/hplayground HPlayground]. Demo at http://tryplayg.herokuapp.com/.
 
Heroku buildpack for [https://github.com/agocorona/tryhplay tryhplay], incorporating [http://haste-lang.org/ Haste] and [https://github.com/agocorona/hplayground HPlayground]. Demo at http://tryplayg.herokuapp.com/.
 
== See also ==
 
 
* [https://www.fpcomplete.com/ FP Haskell Center]
 

Revision as of 11:38, 26 May 2016

Haskell Web Development

Software:
Servers - Libraries - Frameworks
Deploy - Cloud
Interfaces to frameworks
Databases and Persistence
Testing and Verification
Content Management

Community & Research:
Forums and Discussion
Literature (research, talks and blogs)
Existing Haskell web applications
Ongoing projects and ideas

PaaS (platform as a service) cloud providers generally limit you to a fixed technology stack. However, OpenShift and Heroku allow third-party extensions, which can be used to support Haskell.

OpenShift

GHC version: 8.0.1
Author: Gideon Sireling
Home page: https://bitbucket.org/accursoft/haskell-cloud/
Documentation: https://bitbucket.org/accursoft/haskell-cloud/src/tip/README.md

The cartridge comes in several flavours, with just the network and text packages or a pre-installed framework:

Framework Cartridge QuickStart Deploy
network manifest quickstart deploy
Yesod manifest quickstart deploy
Snap manifest quickstart deploy
Happstack manifest quickstart deploy
MFlow manifest quickstart deploy
Scotty manifest quickstart deploy

Heroku

GHC version: 7.8.2
Author: Joe Nelson
Home page: https://github.com/begriffs/heroku-buildpack-ghc
Documentation: https://github.com/begriffs/heroku-buildpack-ghc/blob/master/README.md

Heroku-Haste

GHC version: 7.4.1
Author: Alberto G. Corona
Home page: https://github.com/agocorona/heroku-buildpack-haste
Documentation: https://github.com/agocorona/heroku-buildpack-haste/blob/master/README.md

Heroku buildpack for tryhplay, incorporating Haste and HPlayground. Demo at http://tryplayg.herokuapp.com/.