I have a server and want to deploy my Yesod applications without installing GHC and Cabal. I am not sure if is possible: a Teacher told me that I must first compile Keter in my machine and, after that, put keter executable on the server, though I am not sure how to do that.
Run Keter without GHC and cabal
255 Views Asked by oriaj At
1
There are 1 best solutions below
Related Questions in YESOD
- compile-time vs. run-time cost of Hamlet templates
- yesod devel compiles after change, but doesn't actually reflect change
- Run Keter without GHC and cabal
- Job Scheduling with Yesod
- Yesod fails to install in OSX 10.6.8 with Haskell Platform 2014.2.0.0
- Yesod admin auth with BrowserId and the scaffolded website
- Docker + Yesod Linking Failure
- Persistent typeclass instances for existing libraries ADT's
- Where to store API keys and other 'secrets' in a yesod app
- Yesod catchall route
- Create a route with query params in Yesod Handler
- Yesod: querying `persist` database with a custom primary key
- Yesod.Auth.Email setting password always returns "Passwords did not match, please try again"
- How to build a program depending on a Yesod application
- Haskell Yesod - CORS problems with browsers OPTIONS requests when doing POST requests
Related Questions in KETER
- Run Keter without GHC and cabal
- CSS no longer applying with keter and nginx reverse proxy setup
- How should I make environment variables available to my web app?
- Yesod app on keter with read-only access to DB
- Resolving dependency issue while installing keter vis stack
- Are there any distros that include a binary package for keter?
- Keter delete all image updated in the server when deploy a new version
- Haskell Yesod stack build runnable file
- sudden yesod tls exception, DecodeError
- Error occured when launching bundle Main keter
- Haskell, Yesod and Keter - How can I run a routine periodically (every 5 minutes)?
- How can I deploy Yesod using Keter?
- Keter not picking up new bundle
- Yesod web app with Keter and Cloudflare's free SSL
- Passing app secrets in Yesod and Keter
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
To build Keter, first you'll need to clone the sources from its GitHub repository. Then you'll need to set up a Haskell build environment and use
cabal buildorcabal installto build the sources. Personally, I use a Docker container derived from an image based on the followingDockerfile:This is an image containing the Keter sources checked out at a specific revision with the minimum GHC toolchain required to build it all. The
cabalcommand lines pull down all the project's dependencies and compiles the whole thing. Once this has completed, you can grab theketerexecutable from~/.cabal/bin/keter.Even if you choose not to use Docker, this file should give you a rough idea how to set up your environment.
Now you have Keter compiled, you can run it inside another Docker container. Here's a rough idea what the
Dockerfilefor the corresponding image might look like:Ths will take a base Debian image and install a minimal set of packages on top of it. It then copies the
keterexecutable and configuration file into the image. If you then run a container from the resulting image it will start theketerexecutable.Fair warning: This whole process is fairly involved. I'm still working on tweaking the exact details myself. Good luck!