## ## Default strfry config ## # Directory that contains strfry database db = "./strfry-db/" relay { # Interface to listen on. Use 0.0.0.0 to listen on all interfaces bind = "127.0.0.1" # Port to open for the nostr websocket protocol port = 7777 info { # NIP-11: Name of this server. Short/descriptive (< 30 characters) name = "strfry default" # NIP-11: Detailed information about relay, free-form description = "This is a strfry instance." # NIP-11: Administrative nostr pubkey, for contact purposes pubkey = "unset" # NIP-11: Alternative administrative contact (email, website, etc) contact = "unset" } # Maximum accepted incoming websocket frame size (should be larger than max event and yesstr msg) maxWebsocketPayloadSize = 131072 # Websocket-level PING message frequency (should be less than any reverse proxy idle timeouts) autoPingSeconds = 55 # If TCP keep-alive should be enabled (detect dropped connections to upstream reverse proxy) 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 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 = 3 reqWorker = 3 reqMonitor = 3 yesstr = 1 } } events { # Maximum size of normalised JSON, in bytes maxEventSize = 65536 # Events newer than this will be rejected rejectEventsNewerThanSeconds = 900 # Events older than this will be rejected rejectEventsOlderThanSeconds = 94608000 # Ephemeral events older than this will be rejected rejectEphemeralEventsOlderThanSeconds = 60 # Ephemeral events will be deleted from the DB when older than this ephemeralEventsLifetimeSeconds = 300 # Maximum number of tags allowed maxNumTags = 250 # Maximum size for tag values, in bytes maxTagValSize = 255 }