diff --git a/apps/smp-server/Main.hs b/apps/smp-server/Main.hs index 07dbc51d1..14738c154 100644 --- a/apps/smp-server/Main.hs +++ b/apps/smp-server/Main.hs @@ -1,13 +1,17 @@ +{-# LANGUAGE LambdaCase #-} + module Main where import Control.Logger.Simple +import Data.Maybe import Simplex.Messaging.Server.Main +import System.Environment -cfgPath :: FilePath -cfgPath = "/etc/opt/simplex" +defaultCfgPath :: FilePath +defaultCfgPath = "/etc/opt/simplex" -logPath :: FilePath -logPath = "/var/opt/simplex" +defaultLogPath :: FilePath +defaultLogPath = "/var/opt/simplex" logCfg :: LogConfig logCfg = LogConfig {lc_file = Nothing, lc_stderr = True} @@ -15,4 +19,9 @@ logCfg = LogConfig {lc_file = Nothing, lc_stderr = True} main :: IO () main = do setLogLevel LogDebug + cfgPath <- getEnvPath "SMP_SERVER_CFG_PATH" defaultCfgPath + logPath <- getEnvPath "SMP_SERVER_LOG_PATH" defaultLogPath withGlobalLogging logCfg $ smpServerCLI cfgPath logPath + +getEnvPath :: String -> FilePath -> IO FilePath +getEnvPath name def = maybe def (\case "" -> def; f -> f) <$> lookupEnv name