myriad/src/Myriad.hs

27 lines
773 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
2019-07-23 07:40:45 +02:00
import Network.Wai.Handler.Warp
import Myriad.Core
2020-06-17 04:29:12 +02:00
import Myriad.Config
import Myriad.Docker
import Myriad.Server
2020-06-17 04:02:12 +02:00
runMyriadServer :: FilePath -> FilePath -> IO ()
runMyriadServer configPath languagesDir = do
env <- initEnv configPath 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