mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-09 04:39:24 +00:00
Cluster Orchestration with Docker Compose (#114)
* add file * builds + caching fixed * bitcoin orchestration * remove default entrypoint * eth image and cleanup * working monero * remove signature file * cleanup on aisle eth * cleanup on aisle btc * eth working * remove docker ignore * remove bitcoin image readme * fix serai builds * serai clusters * added readme for docker * formatting * share the image * newlines at EOF * add multi profile example * coin order * coin order * profile order * fix grammar * fix whitespace * reduce trusted signature set, require at least 3 signatures. * remove echo * update comment to ref trusted keys * comment fix * use 16 keys, check for laanwj, name compose * don't use bash * monero fingerprints & eth fixes * eth fixes * remove extra eth keys
This commit is contained in:
176
deploy/docker-compose.yml
Normal file
176
deploy/docker-compose.yml
Normal file
@@ -0,0 +1,176 @@
|
||||
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
|
||||
# cluter-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
|
||||
<<: *serai_defaults
|
||||
hostname: serai-base
|
||||
profiles:
|
||||
- base
|
||||
environment:
|
||||
CHAIN: dev
|
||||
NAME: base
|
||||
|
||||
serai-alice:
|
||||
&serai
|
||||
<<: *serai_defaults
|
||||
hostname: serai-alice
|
||||
profiles:
|
||||
- alice
|
||||
- cluster-sm
|
||||
- cluster-coins-sm
|
||||
- cluster-lg
|
||||
- cluster-coins-lg
|
||||
environment:
|
||||
CHAIN: dev
|
||||
NAME: Alice
|
||||
VALIDATOR: true
|
||||
|
||||
serai-bob:
|
||||
&serai
|
||||
<<: *serai_defaults
|
||||
hostname: serai-bob
|
||||
profiles:
|
||||
- bob
|
||||
- cluster-sm
|
||||
- cluster-coins-sm
|
||||
- cluster-lg
|
||||
- cluster-coins-lg
|
||||
environment:
|
||||
CHAIN: dev
|
||||
NAME: Bob
|
||||
|
||||
serai-charlie:
|
||||
&serai
|
||||
<<: *serai_defaults
|
||||
hostname: serai-charlie
|
||||
profiles:
|
||||
- charlie
|
||||
- cluster-sm
|
||||
- cluster-coins-sm
|
||||
- cluster-lg
|
||||
- cluster-coins-lg
|
||||
environment:
|
||||
CHAIN: dev
|
||||
NAME: Charlie
|
||||
|
||||
serai-dave:
|
||||
&serai
|
||||
<<: *serai_defaults
|
||||
hostname: serai-dave
|
||||
profiles:
|
||||
- dave
|
||||
- cluster-lg
|
||||
- cluster-coins-lg
|
||||
environment:
|
||||
CHAIN: dev
|
||||
NAME: Dave
|
||||
|
||||
serai-eve:
|
||||
&serai
|
||||
<<: *serai_defaults
|
||||
hostname: serai-eve
|
||||
profiles:
|
||||
- eve
|
||||
- cluster-lg
|
||||
- cluster-coins-lg
|
||||
environment:
|
||||
CHAIN: dev
|
||||
NAME: Eve
|
||||
|
||||
serai-ferdie:
|
||||
&serai
|
||||
<<: *serai_defaults
|
||||
hostname: serai-ferdie
|
||||
profiles:
|
||||
- ferdie
|
||||
- cluster-lg
|
||||
- cluster-coins-lg
|
||||
environment:
|
||||
CHAIN: dev
|
||||
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
|
||||
|
||||
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/temp:/temp"
|
||||
- "./coins/monero/scripts:/scripts"
|
||||
entrypoint: /scripts/entry-dev.sh
|
||||
Reference in New Issue
Block a user