version: "3"

volumes:
  wallet_server:
  es01:

services:
  wallet_server:
    depends_on: 
      - es01
    image: lbry/wallet-server:${WALLET_SERVER_TAG:-latest-release}
    restart: always
    network_mode: host
    ports:
      - "50001:50001" # rpc port
      - "2112:2112"   # uncomment to enable prometheus
    volumes:
      - "wallet_server:/database"
    env_file: [/home/lbry/wallet-server-env]
    environment:
      - DAEMON_URL=http://lbry:lbry@127.0.0.1:9245
      - TCP_PORT=50001
      - PROMETHEUS_PORT=2112
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.11.0
    container_name: es01
    environment:
      - node.name=es01
      - discovery.type=single-node
      - indices.query.bool.max_clause_count=4096
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-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