myriad/src/Myriad.hs

27 lines
782 B
Haskell
Raw Normal View History

module Myriad
( runMyriadServer
) where
2019-07-23 07:40:45 +02:00
import Control.Monad.Logger (runStdoutLoggingT)
import Data.String.Conversions
import qualified Data.Text as T
2019-07-23 07:40:45 +02:00
import Network.Wai.Handler.Warp
import Myriad.Core
import Myriad.Docker
import Myriad.Server
runMyriadServer :: T.Text -> T.Text -> IO ()
runMyriadServer configInput languagesDir = do
env <- initEnv configInput languagesDir
runMyriadT env do
buildAllImages
startCleanup
logInfo ["Finished Docker-related setup"]
2019-07-23 07:40:45 +02:00
let myriadPort = fromIntegral . port $ config env
onReady = runStdoutLoggingT $ logInfo ["Server started on port ", cs $ show myriadPort, "!"]
settings = setPort myriadPort . setBeforeMainLoop onReady $ defaultSettings
runSettings settings $ app env