docker-compose.yml

Summary

Maintainability
Test Coverage
version: "3.7"

services:
  traefik:
    image: traefik:v3.0
    command:
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.ping.address=:8082"
      - "--ping.entryPoint=ping"
    ports:
      - "19553:80"
      - "19552:8080"
      - "19551:8082"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"

  defi-blockchain:
    image: defi/defichain:master-91a01aea0
    command: >
      defid
      -printtoconsole
      -rpcallowip=0.0.0.0/0
      -rpcbind=0.0.0.0
      -rpcuser=playground
      -rpcpassword=playground
      -rpcworkqueue=512
      -masternode_operator=mswsMVsyGMj1FzDMbbxw2QW3KvQAv2FKiy
      -masternode_operator=mps7BdmwEF2vQ9DREDyNPibqsuSRZ8LuwQ
      -masternode_operator=bcrt1qmfvw3dp3u6fdvqkdc0y3lr0e596le9cf22vtsv
      -masternode_operator=bcrt1qurwyhta75n2g75u2u5nds9p6w9v62y8wr40d2r
      -regtest=1
      -jellyfish_regtest=1
      -txnotokens=0
      -logtimemicros
      -txindex=1
      -acindex=1
      -amkheight=0
      -bayfrontheight=1
      -bayfrontgardensheight=2
      -clarkequayheight=3
      -dakotaheight=4
      -dakotacrescentheight=5
      -eunosheight=6
      -eunospayaheight=7
      -fortcanningheight=8
      -fortcanningmuseumheight=9
      -fortcanninghillheight=10
      -fortcanningroadheight=11
      -fortcanningcrunchheight=12
      -fortcanningspringheight=13
      -fortcanninggreatworldheight=14
      -fortcanningepilogueheight=15
      -grandcentralheight=16
      -grandcentralepilogueheight=17
      -nextnetworkupgradeheight=18
      -changiintermediateheight=19

  defi-playground:
    image: ghcr.io/birthdayresearch/playground-api:3.39.1
    depends_on:
      - defi-blockchain
    ports:
      - "3002:3000"
    environment:
      PLAYGROUND_DEFID_URL: http://playground:playground@defi-blockchain:19554
    labels:
      - "traefik.http.services.playground.loadbalancer.server.port=3000"
      - "traefik.http.routers.playground.rule=PathPrefix(`/v0/playground/`)"
      - "traefik.http.routers.playground.entrypoints=web"

  defi-whale:
    image: ghcr.io/birthdayresearch/whale-api:3.39.1
    depends_on:
      - defi-blockchain
    ports:
      - "3001:3000"
    environment:
      WHALE_DEFID_URL: http://playground:playground@defi-blockchain:19554
      WHALE_DATABASE_PROVIDER: level
      WHALE_DATABASE_LEVEL_LOCATION: .level/index
      WHALE_NETWORK: regtest
      WHALE_VERSION: v0
    labels:
      - "traefik.http.services.whale.loadbalancer.server.port=3000"
      - "traefik.http.routers.whale.rule=PathPrefix(`/v0/regtest/`)"
      - "traefik.http.routers.whale.entrypoints=web"