The environment variables below override someguy's built-in defaults.
- Configuration
SOMEGUY_LISTEN_ADDRESSSOMEGUY_DHTSOMEGUY_CACHED_ADDR_BOOKSOMEGUY_CACHED_ADDR_BOOK_RECENT_TTLSOMEGUY_CACHED_ADDR_BOOK_ACTIVE_PROBINGSOMEGUY_RECORDS_LIMITSOMEGUY_STREAMING_RECORDS_LIMITSOMEGUY_PROVIDER_ENDPOINTSSOMEGUY_PEER_ENDPOINTSSOMEGUY_IPNS_ENDPOINTSSOMEGUY_AUTOCONFSOMEGUY_AUTOCONF_URLSOMEGUY_AUTOCONF_REFRESHSOMEGUY_HTTP_BLOCK_PROVIDER_ENDPOINTSSOMEGUY_HTTP_BLOCK_PROVIDER_PEERIDSSOMEGUY_LIBP2P_LISTEN_ADDRSSOMEGUY_LIBP2P_CONNMGR_LOWSOMEGUY_LIBP2P_CONNMGR_HIGHSOMEGUY_LIBP2P_CONNMGR_GRACE_PERIODSOMEGUY_LIBP2P_MAX_MEMORYSOMEGUY_LIBP2P_MAX_FD
- Logging
- Tracing
The address to listen on.
Default: 127.0.0.1:8190
Controls DHT client mode: standard, accelerated, disabled
Default: accelerated
Enables the cached address book. When disabled, Someguy omits cached addresses from FindProviders results for peers lacking multiaddrs.
Default: true
TTL for recently connected peers' multiaddrs in the cached address book. Applies only when SOMEGUY_CACHED_ADDR_BOOK is enabled.
Default: 48h
Enables active probing of cached peers to keep their multiaddrs up to date. Applies only when SOMEGUY_CACHED_ADDR_BOOK is enabled.
Default: true
Maximum providers or peers returned per Accept: application/json request. HTTP Routing v1 §4.1.5 recommends 100. Set to 0 to disable the cap.
Default: 100
Maximum providers or peers returned per Accept: application/x-ndjson request. Sits above SOMEGUY_RECORDS_LIMIT so streaming returns more results. Set to 0 to disable the cap.
Default: 1000
Comma-separated list of Delegated Routing V1 endpoints for provider lookups.
Supports two URL formats:
- Base URL without path:
https://example.com - Full URL with path:
https://example.com/routing/v1/providers
The auto placeholder (default) resolves to endpoints from the network configuration at SOMEGUY_AUTOCONF_URL.
Default: auto
Comma-separated list of Delegated Routing V1 endpoints for peer routing.
URL formats: same as SOMEGUY_PROVIDER_ENDPOINTS (use /routing/v1/peers path).
Default: auto
Comma-separated list of Delegated Routing V1 endpoints for IPNS records.
URL formats: same as SOMEGUY_PROVIDER_ENDPOINTS (use /routing/v1/ipns path).
Default: auto
Enables automatic configuration (autoconf) of delegated routing endpoints and bootstrap peers.
When enabled, Someguy replaces the auto placeholder in endpoint configuration with network-recommended values fetched from the autoconf URL.
Default: true
URL to fetch autoconf data from. Defaults to the service that provides configuration for IPFS Mainnet.
Default: https://conf.ipfs-mainnet.org/autoconf.json
How often to refresh the autoconf data. The configuration is cached and updated at this interval.
Default: 24h
Comma-separated list of HTTP trustless gateways that Someguy probes to synthesize provider records.
When a configured gateway responds with HTTP 200 to a HEAD /ipfs/{cid}?format=raw request, FindProviders returns a provider record that contains the matching PeerID from SOMEGUY_HTTP_BLOCK_PROVIDER_PEERIDS and the gateway endpoint as a multiaddr with the /tls/http suffix.
Important
When creating a synthetic /routing/v1 for your gateway, and not a general-purpose routing endpoint, set SOMEGUY_DHT=disabled and SOMEGUY_PROVIDER_ENDPOINTS="" to disable default DHT and HTTP routers and exclusively use the explicitly defined SOMEGUY_HTTP_BLOCK_PROVIDER_ENDPOINTS.
Default: none
Comma-separated list of multibase-encoded peerIDs that Someguy embeds in synthetic provider records for the HTTP endpoints in SOMEGUY_HTTP_BLOCK_PROVIDER_ENDPOINTS. The order of PeerIDs must match the order of endpoints.
If you configure provider endpoints without PeerIDs, Someguy generates synthetic PeerIDs automatically, deterministically derived from SHA-256 hashes of the endpoint URLs. These PeerIDs exist only for routing-system compatibility; HTTP trustless gateways never use them for cryptographic operations or peer authentication.
Default: none
Comma-separated libp2p listen multiaddresses. Someguy binds port 4004 on IPv4 and IPv6 across libp2p's default transports. To see the exact defaults built into this release, run someguy start --help.
Minimum number of libp2p connections to keep.
Default: 100
Maximum number of libp2p connections to keep.
Default: 3000
Minimum libp2p connection TTL.
Default: 1m
Maximum memory to use for libp2p.
Default: 0 (85% of the system's available RAM)
Maximum number of file descriptors used by libp2p node.
Default: 0 (50% of the process' limit)
Sets the log level globally or per subsystem. Levels:
debuginfowarnerrordpanicpanicfatal
Specify per-subsystem levels as subsystem=level. Combine a global level with any number of per-subsystem levels by separating them with commas.
Default: error
Example:
GOLOG_LOG_LEVEL="error,someguy=debug" someguySets the log message format. Supported values:
color: human-readable, colorized (ANSI) outputnocolor: human-readable, plain-text outputjson: structured JSON
For example, to log structured JSON (for easier parsing):
export GOLOG_LOG_FMT="json"The logging format defaults to color when the output is a terminal, and
nocolor otherwise.
Writes logs to the given file. Defaults to stderr.
Writes tracing events to the given file. Tracing is disabled by default.
Warning: tracing affects performance.
See tracing.md.
Setting a non-empty value enables on-demand per-request tracing.
To honor a Traceparent or Tracestate header, Someguy requires the request to carry an Authorization header whose value matches SOMEGUY_TRACING_AUTH.
Fraction of routing requests to sample (0 to 1). Applied independently of Traceparent-based sampling.
Default: 0