# bitcoin node running in your private network 192.168.1.0/24 BITCOIN_RPC_URL=http://192.168.1.100 # bitcoin node running undockered on the same PC # needs to add rpcallowip=172.16.0.0/12 to your bitcoin.conf #BITCOIN_RPC_URL=http://host.docker.internal BITCOIN_RPC_USER= BITCOIN_RPC_PASSWORD= BITCOIN_RPC_PORT=8332 BITCOIN_RPC_TIMEOUT=10000 # Enable in bitcoin.conf with: # zmqpubrawblock=tcp://0.0.0.0:3000 BITCOIN_ZMQ_HOST=tcp://192.168.1.100:3000 API_PORT=3334 # Docker host/IP and public host port for the API listener. # Keep API_BIND_HOST as 127.0.0.1 when a reverse proxy terminates public traffic. API_BIND_HOST=127.0.0.1 API_PUBLIC_PORT=3334 API_WORKERS=4 # Docker json-file log rotation. Applies when using the compose files. DOCKER_LOG_MAX_SIZE=100m DOCKER_LOG_MAX_FILES=5 # Plain TCP Stratum ports accept both SV1 JSON-RPC and SV2 Noise/binary traffic. # Legacy/default ports mine in solo mode. STRATUM_PORTS=3333,3332,3331,3330 # Optional PPLNS-mode SV1/SV2 autodetect ports. #PPLNS_STRATUM_PORTS= STRATUM_WORKERS=2 STRATUM_WORKER_MAX_MEMORY_RESTART=4096M STRATUM_MIN_DIFFICULTY=1 STRATUM_SOCKET_TIMEOUT_MS=3600000 STRATUM_TCP_KEEPALIVE_INITIAL_DELAY_MS=60000 # Optional additional SV2-only mining ports. Usually unnecessary when STRATUM_PORTS are exposed. #STRATUM_V2_PORTS= #PPLNS_STRATUM_V2_PORTS= #SV2_START_DIFFICULTY=100000 #SV2_TARGET_SHARES_PER_MINUTE=2 #SV2_DIFFICULTY_CHECK_INTERVAL_MS=60000 #STRATUM_V2_SOCKET_TIMEOUT_MS=3600000 #SV2_AUTHORITY_PRIVKEY= #SV2_JDP_PORTS= #PPLNS_SV2_JDP_PORTS= #SV2_JDP_POOL_PAYOUT_ADDRESS= #SV2_JDP_TOKEN_TTL_MS=600000 #SV2_TDP_PORTS= #PPLNS_SV2_TDP_PORTS= #SV2_TDP_POOL_PAYOUT_ADDRESS= # Optional DATUM Prime-compatible listener. DATUM_POOL_PAYOUT_ADDRESS is the # required pool coinbase output DATUM gateways must include in custom templates. #DATUM_PORTS= #PPLNS_DATUM_PORTS= #DATUM_POOL_PAYOUT_ADDRESS= #DATUM_SHARE_DIFFICULTY=1 #DATUM_PAYOUT_MAX_COINBASE_OUTPUTS=10 #DATUM_PAYOUT_COINBASE_WEIGHT_BUDGET=2000 # 32-byte hex seed for the DATUM server identity key. DATUM clients must be # configured with the matching logged public key. #DATUM_IDENTITY_SEED= STRATUM_SECURE=true SECURE_STRATUM_PORTS=4333,4332,4331,4330 #PPLNS_SECURE_STRATUM_PORTS= STRATUM_MAX_CONNECTIONS_PER_LISTENER=10000 STRATUM_TLS_HANDSHAKE_TIMEOUT_MS=10000 #optional telegram bot #TELEGRAM_BOT_TOKEN= #optional discord bot #DISCORD_BOT_CLIENTID= #DISCORD_BOT_GUILD_ID= #DISCORD_BOT_CHANNEL_ID= #optional DEV_FEE_ADDRESS= # mainnet | testnet NETWORK=mainnet API_SECURE=false #postgresql DB_HOST=timescaledb DB_PORT=5432 DB_USERNAME=public_pool DB_PASSWORD=public_pool DB_DATABASE=public_pool DB_POOL_SIZE=10 DB_SSL=false DB_SSL_REJECT_UNAUTHORIZED=true #accepted share accounting SHARE_ACCOUNTING_BATCH_SIZE=500 SHARE_ACCOUNTING_FLUSH_INTERVAL_MS=25 SHARE_ACCOUNTING_MAX_QUEUE_SIZE=50000 SHARE_ACCOUNTING_SUMMARY_CACHE_MS=2500 SHARE_ACCOUNTING_SUMMARY_CACHE_MAX=10000 CLIENT_HASHRATE_PERSIST_INTERVAL_MS=60000 SHARE_ROLLUP_ENABLED=true SHARE_ROLLUP_INTERVAL_MS=60000 SHARE_ROLLUP_SAFETY_LAG_SECONDS=30 SHARE_ROLLUP_MAX_SHARES_PER_BATCH=5000000 # payout snapshot accounting PAYOUT_SNAPSHOT_ENABLED=true PAYOUT_METHOD=pplns PAYOUT_WINDOW_FACTOR=4 PAYOUT_BOOTSTRAP_WINDOW=true # solo preserves current one-address coinbase payouts. Set to snapshot to pay # the latest payout snapshot directly in coinbase outputs. PAYOUT_COINBASE_MODE=solo PAYOUT_MAX_COINBASE_OUTPUTS=10 PAYOUT_MIN_OUTPUT_SATS=546 PAYOUT_FEE_ADDRESS= PAYOUT_FEE_PERCENT=0 PAYOUT_COINBASE_WEIGHT_BUDGET=50000 #redis REDIS_URL=redis://redis:6379 PRODUCTION=false