Browse Source

Expand configuration (#368)

* Allow configuring httpMaxConns

default: 100

* Allow setting NITTER_CONF_FILE path env var

Co-authored-by: 3nprob <3nprob@3nprob>
3nprob 5 năm trước cách đây
mục cha
commit
a859943871
4 tập tin đã thay đổi với 7 bổ sung2 xóa
  1. 1 0
      nitter.conf
  2. 2 0
      src/config.nim
  3. 3 2
      src/nitter.nim
  4. 1 0
      src/types.nim

+ 1 - 0
nitter.conf

@@ -2,6 +2,7 @@
 address = "0.0.0.0"
 port = 8080
 https = false  # disable to enable cookies when not using https
+httpMaxConnections = 100
 staticDir = "./public"
 title = "nitter"
 hostname = "nitter.net"

+ 2 - 0
src/config.nim

@@ -16,6 +16,8 @@ proc getConfig*(path: string): (Config, parseCfg.Config) =
     address: cfg.get("Server", "address", "0.0.0.0"),
     port: cfg.get("Server", "port", 8080),
     useHttps: cfg.get("Server", "https", true),
+    httpMaxConns: cfg.get("Server", "httpMaxConnections", 100),
+
     title: cfg.get("Server", "title", "Nitter"),
     hostname: cfg.get("Server", "hostname", "nitter.net"),
     staticDir: cfg.get("Server", "staticDir", "./public"),

+ 3 - 2
src/nitter.nim

@@ -1,6 +1,7 @@
 import asyncdispatch, strformat
 from net import Port
 from htmlgen import a
+from os import getEnv
 
 import jester
 
@@ -12,7 +13,7 @@ import routes/[
 
 const instancesUrl = "https://github.com/zedeus/nitter/wiki/Instances"
 
-const configPath {.strdefine.} = "./nitter.conf"
+let configPath = getEnv("NITTER_CONF_FILE", "./nitter.conf")
 let (cfg, fullCfg) = getConfig(configPath)
 
 when defined(release):
@@ -28,7 +29,7 @@ updateDefaultPrefs(fullCfg)
 setCacheTimes(cfg)
 setHmacKey(cfg.hmacKey)
 setProxyEncoding(cfg.base64Media)
-setMaxHttpConns(100)
+setMaxHttpConns(cfg.httpMaxConns)
 
 waitFor initRedisPool(cfg)
 stdout.write &"Connected to Redis at {cfg.redisHost}:{cfg.redisPort}\n"

+ 1 - 0
src/types.nim

@@ -204,6 +204,7 @@ type
     address*: string
     port*: int
     useHttps*: bool
+    httpMaxConns*: int
     title*: string
     hostname*: string
     staticDir*: string