version: "3.9" name: serai-dev # ------------------------------------------------------------ # Services # ------------------------------------------------------------ # Profiles: # base - single node, unidentified # coins - node clients for coins only (BTC, ETH, XMR) # cluster-sm - Alice, Bob, Charlie # cluster-coins-sm - cluster-sm with coins # cluster-lg - Alice, Bob, Charlie, Dave, Eve, Ferdie # cluster-coins-lg - cluster-lg with coins # monero - full node monero only # bitcoin - full node bitcoin only # ethereum - full node ethereum only # Example: docker compose --profile bitcoin up volumes: serai-base: serai-alice: serai-bob: serai-charlie: serai-dave: serai-eve: serai-ferdie: genesis-volume: services: genesis: image: genesis:dev build: context: ./genesis/ dockerfile: Dockerfile entrypoint: /entry-dev.sh volumes: - genesis-volume:/temp _serai: &serai_defaults restart: unless-stopped image: serai:dev profiles: - _ build: context: ../ dockerfile: ./deploy/serai/Dockerfile args: TAG: serai entrypoint: /scripts/entry-dev.sh volumes: - "./serai/scripts:/scripts" - genesis-volume:/temp depends_on: - genesis serai-base: <<: *serai_defaults hostname: serai-base profiles: - base environment: CHAIN: local NAME: base serai-alice: <<: *serai_defaults hostname: serai-alice profiles: - alice - cluster-sm - cluster-coins-sm - cluster-lg - cluster-coins-lg environment: CHAIN: local NAME: alice VALIDATOR: true serai-bob: <<: *serai_defaults hostname: serai-bob profiles: - bob - cluster-sm - cluster-coins-sm - cluster-lg - cluster-coins-lg environment: CHAIN: local NAME: bob VALIDATOR: true serai-charlie: <<: *serai_defaults hostname: serai-charlie profiles: - charlie - cluster-sm - cluster-coins-sm - cluster-lg - cluster-coins-lg environment: CHAIN: local NAME: charlie VALIDATOR: true serai-dave: <<: *serai_defaults hostname: serai-dave profiles: - dave - cluster-lg - cluster-coins-lg environment: CHAIN: local NAME: dave serai-eve: <<: *serai_defaults hostname: serai-eve profiles: - eve - cluster-lg - cluster-coins-lg environment: CHAIN: local NAME: eve serai-ferdie: <<: *serai_defaults hostname: serai-ferdie profiles: - ferdie - cluster-lg - cluster-coins-lg environment: CHAIN: local NAME: ferdie # Processor Services # Coin Services bitcoin: profiles: - single-coins - cluster-coins-sm - cluster-coins-lg - coins - bitcoin build: context: ./coins/bitcoin/ restart: unless-stopped volumes: - "./coins/bitcoin/scripts:/scripts" entrypoint: /scripts/entry-dev.sh ports: - "18443:18443" ethereum: profiles: - single-coins - cluster-coins-sm - cluster-coins-lg - coins - ethereum build: context: ./coins/ethereum/ restart: unless-stopped volumes: - "./coins/ethereum/scripts:/scripts" entrypoint: /scripts/entry-dev.sh monero: profiles: - single-coins - cluster-coins-sm - cluster-coins-lg - coins - monero build: context: ./coins/monero/ restart: unless-stopped volumes: - "./coins/monero/scripts:/scripts" entrypoint: /scripts/entry-dev.sh ports: - "18081:18081"