version: "3" volumes: lbcd: lbry_rocksdb: es01: services: scribe: depends_on: - lbcd - scribe_elastic_sync image: lbry/hub:${SCRIBE_TAG:-latest} restart: always network_mode: host volumes: - "lbry_rocksdb:/database" environment: - HUB_COMMAND=scribe command: # for full options, see `scribe --help` - "--daemon_url=http://lbry:lbry@127.0.0.1:9245" - "--max_query_workers=2" # - "--cache_all_tx_hashes" # uncomment to keep an index of all tx hashes in memory. This uses lots (10+g) of memory but substantially improves performance. scribe_elastic_sync: depends_on: - es01 image: lbry/hub:${SCRIBE_TAG:-latest} restart: always network_mode: host ports: - "127.0.0.1:19080:19080" # elastic notifier port volumes: - "lbry_rocksdb:/database" environment: - HUB_COMMAND=scribe-elastic-sync - FILTERING_CHANNEL_IDS=770bd7ecba84fd2f7607fb15aedd2b172c2e153f 95e5db68a3101df19763f3a5182e4b12ba393ee8 - BLOCKING_CHANNEL_IDS=dd687b357950f6f271999971f43c785e8067c3a9 06871aa438032244202840ec59a469b303257cad b4a2528f436eca1bf3bf3e10ff3f98c57bd6c4c6 command: # for full options, see `scribe-elastic-sync --help` - "--max_query_workers=2" - "--elastic_host=127.0.0.1" # elasticsearch host - "--elastic_port=9200" # elasticsearch port - "--elastic_notifier_host=127.0.0.1" # address for the elastic sync notifier to connect to - "--elastic_notifier_port=19080" scribe_hub: depends_on: - lbcd - scribe_elastic_sync - scribe image: lbry/hub:${SCRIBE_TAG:-latest} restart: always network_mode: host ports: - "50001:50001" # electrum rpc port and udp ping port - "2112:2112" # comment out to disable prometheus metrics volumes: - "lbry_rocksdb:/database" environment: - HUB_COMMAND=herald - FILTERING_CHANNEL_IDS=770bd7ecba84fd2f7607fb15aedd2b172c2e153f 95e5db68a3101df19763f3a5182e4b12ba393ee8 - BLOCKING_CHANNEL_IDS=dd687b357950f6f271999971f43c785e8067c3a9 06871aa438032244202840ec59a469b303257cad b4a2528f436eca1bf3bf3e10ff3f98c57bd6c4c6 command: # for full options, see `herald --help` - "--daemon_url=http://lbry:lbry@127.0.0.1:9245" - "--max_query_workers=4" - "--host=0.0.0.0" - "--prometheus_port=2112" # comment out to disable prometheus metrics # - "--elastic_host=127.0.0.1" # elasticsearch host # - "--elastic_port=9200" # elasticsearch port # - "--elastic_notifier_host=127.0.0.1" # address for the elastic sync notifier to connect to # - "--elastic_notifier_port=19080" # - "--max_sessions=100000 # uncomment to increase the maximum number of electrum connections, defaults to 1000 # - "--allow_lan_udp" # uncomment to reply to clients on the local network es01: image: docker.elastic.co/elasticsearch/elasticsearch:7.16.0 container_name: es01 environment: - node.name=es01 - discovery.type=single-node - indices.query.bool.max_clause_count=8192 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Dlog4j2.formatMsgNoLookups=true -Xms8g -Xmx8g" # no more than 32, remember to disable swap ulimits: memlock: soft: -1 hard: -1 volumes: - "es01:/usr/share/elasticsearch/data" ports: - "127.0.0.1:9200:9200" lbcd: image: lbry/lbcd:latest restart: always network_mode: host command: - "--notls" - "--listen=0.0.0.0:9246" - "--rpclisten=127.0.0.1:9245" - "--rpcuser=lbry" - "--rpcpass=lbry" volumes: - "lbcd:/root/.lbcd" ports: - "9246:9246" # p2p