Merge changes for the 1.0.4 update
This commit is contained in:
parent
3518f6c96c
commit
ec4c551fa8
@ -45,5 +45,6 @@
|
||||
chdir: "{{ strfry_data_path }}"
|
||||
become: yes
|
||||
become_user: "{{ strfry_system_user }}"
|
||||
when: git_repository.changed and strfry_data_path_stat.stat.exists
|
||||
when: git_repository.changed and strfry_data_path_stat.stat is defined and strfry_data_path_stat.stat.exists
|
||||
changed_when: git_repository.changed
|
||||
failed_when: false
|
@ -13,31 +13,6 @@ dbParams {
|
||||
|
||||
# Size of mmap() to use when loading LMDB (default is 10TB, does *not* correspond to disk-space used) (restart required)
|
||||
mapsize = {{ strfry_dbParams.mapsize }}
|
||||
|
||||
# Disables read-ahead when accessing the LMDB mapping. Reduces IO activity when DB size is larger than RAM. (restart required)
|
||||
noReadAhead = {{ "true" if strfry_dbParams.noReadAhead else "false" }}
|
||||
}
|
||||
events {
|
||||
# Maximum size of normalised JSON, in bytes
|
||||
maxEventSize = {{ strfry_events.maxEventSize }}
|
||||
|
||||
# Events newer than this will be rejected
|
||||
rejectEventsNewerThanSeconds = {{ strfry_events.rejectEventsNewerThanSeconds }}
|
||||
|
||||
# Events older than this will be rejected
|
||||
rejectEventsOlderThanSeconds = {{ strfry_events.rejectEventsOlderThanSeconds }}
|
||||
|
||||
# Ephemeral events older than this will be rejected
|
||||
rejectEphemeralEventsOlderThanSeconds = {{ strfry_events.rejectEphemeralEventsOlderThanSeconds }}
|
||||
|
||||
# Ephemeral events will be deleted from the DB when older than this
|
||||
ephemeralEventsLifetimeSeconds = {{ strfry_events.ephemeralEventsLifetimeSeconds }}
|
||||
|
||||
# Maximum number of tags allowed
|
||||
maxNumTags = {{ strfry_events.maxNumTags }}
|
||||
|
||||
# Maximum size for tag values, in bytes
|
||||
maxTagValSize = {{ strfry_events.maxTagValSize }}
|
||||
}
|
||||
|
||||
relay {
|
||||
@ -88,6 +63,9 @@ relay {
|
||||
writePolicy {
|
||||
# If non-empty, path to an executable script that implements the writePolicy plugin logic
|
||||
plugin = "{{ strfry_relay.writePolicy.plugin }}"
|
||||
|
||||
# Number of seconds to search backwards for lookback events when starting the writePolicy plugin (0 for no lookback)
|
||||
lookbackSeconds = 0
|
||||
}
|
||||
|
||||
compression {
|
||||
@ -110,9 +88,6 @@ relay {
|
||||
|
||||
# Log performance metrics for initial REQ database scans
|
||||
dbScanPerf = {{ "true" if strfry_relay.logging.dbScanPerf else "false" }}
|
||||
|
||||
# Log reason for invalid event rejection? Can be disabled to silence excessive logging
|
||||
invalidEvents = {{ "true" if strfry_relay.logging.invalidEvents else "false" }}
|
||||
}
|
||||
|
||||
numThreads {
|
||||
@ -125,15 +100,31 @@ relay {
|
||||
# reqMonitor threads: Handle filtering of new events (restart required)
|
||||
reqMonitor = {{ strfry_relay.numThreads.reqMonitor }}
|
||||
|
||||
# negentropy threads: Handle negentropy protocol messages (restart required)
|
||||
negentropy = {{ strfry_relay.numThreads.negentropy }}
|
||||
}
|
||||
|
||||
negentropy {
|
||||
# Support negentropy protocol messages
|
||||
enabled = {{ "true" if strfry_relay.negentropy.enabled else "false" }}
|
||||
|
||||
# Maximum records that sync will process before returning an error
|
||||
maxSyncEvents = {{ strfry_relay.negentropy.maxSyncEvents }}
|
||||
# yesstr threads: Experimental yesstr protocol (restart required)
|
||||
yesstr = 1
|
||||
}
|
||||
}
|
||||
|
||||
events {
|
||||
# Maximum size of normalised JSON, in bytes
|
||||
maxEventSize = {{ strfry_events.maxEventSize }}
|
||||
|
||||
# Events newer than this will be rejected
|
||||
rejectEventsNewerThanSeconds = {{ strfry_events.rejectEventsNewerThanSeconds }}
|
||||
|
||||
# Events older than this will be rejected
|
||||
rejectEventsOlderThanSeconds = {{ strfry_events.rejectEventsOlderThanSeconds }}
|
||||
|
||||
# Ephemeral events older than this will be rejected
|
||||
rejectEphemeralEventsOlderThanSeconds = {{ strfry_events.rejectEphemeralEventsOlderThanSeconds }}
|
||||
|
||||
# Ephemeral events will be deleted from the DB when older than this
|
||||
ephemeralEventsLifetimeSeconds = {{ strfry_events.ephemeralEventsLifetimeSeconds }}
|
||||
|
||||
# Maximum number of tags allowed
|
||||
maxNumTags = {{ strfry_events.maxNumTags }}
|
||||
|
||||
# Maximum size for tag values, in bytes
|
||||
maxTagValSize = {{ strfry_events.maxTagValSize }}
|
||||
}
|
127
templates/update.conf
Normal file
127
templates/update.conf
Normal file
@ -0,0 +1,127 @@
|
||||
##
|
||||
## Default strfry config
|
||||
##
|
||||
|
||||
# Directory that contains the strfry LMDB database (restart required)
|
||||
db = "./strfry-db/"
|
||||
|
||||
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 10TB, does *not* correspond to disk-space used) (restart required)
|
||||
mapsize = 10995116277760
|
||||
}
|
||||
|
||||
relay {
|
||||
# Interface to listen on. Use 0.0.0.0 to listen on all interfaces (restart required)
|
||||
bind = "127.0.0.1"
|
||||
|
||||
# Port to open for the nostr websocket protocol (restart required)
|
||||
port = 7777
|
||||
|
||||
# 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 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) (restart required)
|
||||
maxWebsocketPayloadSize = 131072
|
||||
|
||||
# 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)
|
||||
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 = ""
|
||||
|
||||
# Number of seconds to search backwards for lookback events when starting the writePolicy plugin (0 for no lookback)
|
||||
lookbackSeconds = 0
|
||||
}
|
||||
|
||||
compression {
|
||||
# Use permessage-deflate compression if supported by client. Reduces bandwidth, but slight increase in 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
|
||||
}
|
||||
}
|
||||
|
||||
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 = 2000
|
||||
|
||||
# Maximum size for tag values, in bytes
|
||||
maxTagValSize = 1024
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user