# Nostr-rs-relay configuration [info] # The advertised URL for the Nostr websocket. relay_url = "wss://nostr.example.com/" # Relay information for clients. Put your unique server name here. name = "nostr-rs-relay" # Description description = "A newly created nostr-rs-relay.\n\nCustomize this with your own info." # Administrative contact pubkey #pubkey = "0c2d168a4ae8ca58c9f1ab237b5df682599c6c7ab74307ea8b05684b60405d41" # Administrative contact URI #contact = "mailto:contact@example.com" [diagnostics] # Enable tokio tracing (for use with tokio-console) #tracing = true [database] # Directory for SQLite files. Defaults to the current directory. Can # also be specified (and overriden) with the "--db dirname" command # line option. data_directory = "." # Use an in-memory database instead of 'nostr.db'. # Caution; this will not survive a process restart! #in_memory = false # Database connection pool settings for subscribers: # Minimum number of SQLite reader connections #min_conn = 4 # Maximum number of SQLite reader connections #max_conn = 128 [network] # Bind to this network address address = "0.0.0.0" # Listen on this port port = 8080 # If present, read this HTTP header for logging client IP addresses. # Examples for common proxies, cloudflare: #remote_ip_header = "x-forwarded-for" #remote_ip_header = "cf-connecting-ip" [options] # Reject events that have timestamps greater than this many seconds in # the future. Recommended to reject anything greater than 30 minutes # from the current time, but the default is to allow any date. reject_future_seconds = 1800 [limits] # Limit events created per second, averaged over one minute. Must be # an integer. If not set (or set to 0), defaults to unlimited. #messages_per_sec = 0 # Limit the maximum size of an EVENT message. Defaults to 128 KB. # Set to 0 for unlimited. #max_event_bytes = 131072 # Maximum WebSocket message in bytes. Defaults to 128 KB. #max_ws_message_bytes = 131072 # Maximum WebSocket frame size in bytes. Defaults to 128 KB. #max_ws_frame_bytes = 131072 # Broadcast buffer size, in number of events. This prevents slow # readers from consuming memory. #broadcast_buffer = 16384 # Event persistence buffer size, in number of events. This provides # backpressure to senders if writes are slow. #event_persist_buffer = 4096 [authorization] # Pubkey addresses in this array are whitelisted for event publishing. # Only valid events by these authors will be accepted, if the variable # is set. #pubkey_whitelist = [ # "35d26e4690cbe1a898af61cc3515661eb5fa763b57bd0b42e45099c8b32fd50f", # "887645fef0ce0c3c1218d2f5d8e6132a19304cdc57cd20281d082f38cfea0072", #] [verified_users] # NIP-05 verification of users. Can be "enabled" to require NIP-05 # metadata for event authors, "passive" to perform validation but # never block publishing, or "disabled" to do nothing. #mode = "disabled" # Domain names that will be prevented from publishing events. #domain_blacklist = ["wellorder.net"] # Domain names that are allowed to publish events. If defined, only # events NIP-05 verified authors at these domains are persisted. #domain_whitelist = ["example.com"] # Consider an pubkey "verified" if we have a successful validation # from the NIP-05 domain within this amount of time. Note, if the # domain provides a successful response that omits the account, # verification is immediately revoked. #verify_expiration = "1 week" # How long to wait between verification attempts for a specific author. #verify_update_frequency = "24 hours" # How many consecutive failed checks before we give up on verifying # this author. #max_consecutive_failures = 20