version: "3"

volumes:
  lbrycrd:
  wallet_server:

services:
  lbrycrd:
    image: lbry/lbrycrd:${LBRYCRD_TAG:-latest-release}
    restart: always
    ports: # accessible from host
      - "9246:9246" # rpc port
    expose: # internal to docker network. also this doesn't do anything. its for documentation only.
      - "9245" # node-to-node comms port
    volumes:
      - "lbrycrd:/data/.lbrycrd"
    environment:
      - RUN_MODE=default
      - SNAPSHOT_URL=${LBRYCRD_SNAPSHOT_URL-https://lbry.com/snapshot/blockchain}
      - RPC_ALLOW_IP=0.0.0.0/0
  wallet_server:
    image: lbry/wallet-server:${WALLET_SERVER_TAG:-latest-release}
    depends_on:
      - lbrycrd
    restart: always
    ports:
      - "50001:50001" # rpc port
      - "50005:50005" # websocket port
      #- "2112:2112"   # uncomment to enable prometheus
    volumes:
      - "wallet_server:/database"
    environment:
      - SNAPSHOT_URL=${WALLET_SERVER_SNAPSHOT_URL-https://lbry.com/snapshot/wallet}
      - DAEMON_URL=http://lbry:lbry@lbrycrd:9245