serai/deploy/docker-compose.yml
2023-03-26 20:20:32 -04:00

173 lines
3.4 KiB
YAML

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:
services:
_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"
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"