You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
3.2 KiB
101 lines
3.2 KiB
## |
|
## Default strfry config |
|
## |
|
|
|
# Directory that contains the strfry LMDB database (restart required) |
|
db = "/data/strfry.lmdb" |
|
|
|
dbParams { |
|
# Maximum number of threads/processes that can simultaneously have LMDB transactions open (restart required) |
|
maxreaders = 256 |
|
|
|
# Size of mmap to use when loading LMDB (default is 1TB, which is probably reasonable) (restart required) |
|
mapsize = 1099511627776 |
|
} |
|
|
|
relay { |
|
# Interface to listen on. Use 0.0.0.0 to listen on all interfaces (restart required) |
|
bind = "0.0.0.0" |
|
|
|
# Port to open for the nostr websocket protocol (restart required) |
|
port = 8080 |
|
|
|
# Set OS-limit on maximum number of open files/sockets (if 0, don't attempt to set) (restart required) |
|
nofiles = 1000000 |
|
|
|
# HTTP header that contains the client's real IP, before reverse proxying (ie x-real-ip) (MUST be all lower-case) |
|
realIpHeader = "" |
|
|
|
info { |
|
# NIP-11: Name of this server. Short/descriptive (< 30 characters) |
|
name = "strfry benchmark" |
|
|
|
# NIP-11: Detailed description of this server, free-form |
|
description = "A strfry relay for benchmarking" |
|
|
|
# NIP-11: Administrative pubkey, for contact purposes |
|
pubkey = "" |
|
|
|
# NIP-11: Alternative contact for this server |
|
contact = "" |
|
} |
|
|
|
# Maximum accepted incoming websocket frame size (should be larger than max event) (restart required) |
|
maxWebsocketPayloadSize = 104857600 |
|
|
|
# Websocket-level PING message frequency (should be less than any reverse proxy idle timeouts) (restart required) |
|
autoPingSeconds = 55 |
|
|
|
# If TCP keep-alive should be enabled (detect dropped connections to upstream reverse proxy) (restart required) |
|
enableTcpKeepalive = false |
|
|
|
# How much uninterrupted CPU time a REQ query should get during its DB scan |
|
queryTimesliceBudgetMicroseconds = 10000 |
|
|
|
# Maximum records that can be returned per filter |
|
maxFilterLimit = 500 |
|
|
|
# Maximum number of subscriptions (concurrent REQs) a connection can have open at any time |
|
maxSubsPerConnection = 20 |
|
|
|
writePolicy { |
|
# If non-empty, path to an executable script that implements the writePolicy plugin logic |
|
plugin = "" |
|
} |
|
|
|
compression { |
|
# Use permessage-deflate compression if supported by client. Reduces bandwidth, but uses more CPU (restart required) |
|
enabled = true |
|
|
|
# Maintain a sliding window buffer for each connection. Improves compression, but uses more memory (restart required) |
|
slidingWindow = true |
|
} |
|
|
|
logging { |
|
# Dump all incoming messages |
|
dumpInAll = false |
|
|
|
# Dump all incoming EVENT messages |
|
dumpInEvents = false |
|
|
|
# Dump all incoming REQ/CLOSE messages |
|
dumpInReqs = false |
|
|
|
# Log performance metrics for initial REQ database scans |
|
dbScanPerf = false |
|
} |
|
|
|
numThreads { |
|
# Ingester threads: route incoming requests, validate events/sigs (restart required) |
|
ingester = 3 |
|
|
|
# reqWorker threads: Handle initial DB scan for events (restart required) |
|
reqWorker = 3 |
|
|
|
# reqMonitor threads: Handle filtering of new events (restart required) |
|
reqMonitor = 3 |
|
|
|
# yesstr threads: experimental yesstr protocol (restart required) |
|
yesstr = 1 |
|
} |
|
}
|
|
|