🌳
pt0/deployF/servicesF/nostrF/nostrCfgF.mjs
1export const strfryName = 'strfry'
2export const strfryImage = 'dockurr/strfry:1.1.0' // 260627
3export const strfryPort = 7777
4export const strfryDbPath = '/app/strfry-db'
5export const strfryDataSizeGb = 5
7export const nostrudelName = 'nostrudel'
8export const nostrudelImage = 'ghcr.io/hzrd149/nostrudel:1.1.0' // 260627
9export const nostrudelPort = 80
11export const strfryConfig = `
12db = "${strfryDbPath}/"
14dbParams {
15 maxreaders = 256
16 mapsize = 10995116277760
17 noReadAhead = false
20events {
21 maxEventSize = 65536
22 rejectEventsNewerThanSeconds = 900
23 rejectEventsOlderThanSeconds = 94608000
24 rejectEphemeralEventsOlderThanSeconds = 60
25 ephemeralEventsLifetimeSeconds = 300
26 maxNumTags = 2000
27 maxTagValSize = 1024
30relay {
31 bind = "0.0.0.0"
32 port = ${strfryPort}
33 nofiles = 1000000
34 realIpHeader = "x-real-ip"
36 auth {
37 enabled = false
38 }
40 info {
41 name = "hetzn1 relay"
42 description = "strfry nostr relay on hetzn1"
43 pubkey = ""
44 self = ""
45 contact = ""
46 icon = ""
47 banner = ""
48 privacy = ""
49 terms = ""
50 nips = ""
51 }
53 maxWebsocketPayloadSize = 131072
54 maxReqFilterSize = 200
55 autoPingSeconds = 55
56 enableTcpKeepalive = false
57 queryTimesliceBudgetMicroseconds = 10000
58 maxFilterLimit = 500
59 maxTagsPerFilter = 3
60 maxFilterLimitCount = 1000000
61 maxSubsPerConnection = 200
62 maxPendingOutboundBytes = 33554432
64 writePolicy {
65 plugin = ""
66 timeoutSeconds = 10
67 }
69 compression {
70 enabled = true
71 slidingWindow = true
72 }
74 logging {
75 dumpInAll = false
76 dumpInEvents = false
77 dumpInReqs = false
78 dbScanPerf = false
79 invalidEvents = true
80 }
82 numThreads {
83 ingester = 3
84 reqWorker = 3
85 reqMonitor = 3
86 negentropy = 2
87 }
89 negentropy {
90 enabled = true
91 maxSyncEvents = 1000000
92 }
94 filterValidation {
95 enabled = false
96 maxFiltersPerReq = 3
97 minFiltersPerReq = 1
98 maxKindsPerFilter = 3
99 allowedKinds = ""
100 requireAuthorOrTag = false
101 }
103`.trim()