codex-testnet-starter/docker-compose.yaml
2024-03-29 13:44:44 +02:00

104 lines
4.7 KiB
YAML

version: '3.9'
services:
# Codex Node
codex:
image: codexstorage/nim-codex:sha-61ea685-dist-tests
container_name: codex
command:
- codex
- persistence
- prover
- --bootstrap-node=spr:CiUIAhIhAiJvIcA_ZwPZ9ugVKDbmqwhJZaig5zKyLiuaicRcCGqLEgIDARo8CicAJQgCEiECIm8hwD9nA9n26BUoNuarCEllqKDnMrIuK5qJxFwIaosQtcKdqwYaCwoJBJ_f8zKRAnU6KkcwRQIhAKMczlNPHUIkSw0y_Vi2OTimLQ85DmtUEYcu3-t5EUHTAiAvl9vOs9kDGUUpZwsKpNHUGwauxJFSq1SOqi08OrtycQ
- --bootstrap-node=spr:CiUIAhIhAyUvcPkKoGE7-gh84RmKIPHJPdsX5Ugm_IHVJgF-Mmu_EgIDARo8CicAJQgCEiEDJS9w-QqgYTv6CHzhGYog8ck92xflSCb8gdUmAX4ya78Q2aWZqwYaCwoJBES39Q2RAnVOKkYwRAIgaCDDf4pbehpubwi7ikQtSs5lgorPTVIDO1N1rKyoDYECIG-xVpaKL5wVGG9WlIbDmjKNHMhV2MibPr7kaWlGaSsr
- --bootstrap-node=spr:CiUIAhIhA6_j28xa--PvvOUxH10wKEm9feXEKJIK3Z9JQ5xXgSD9EgIDARo8CicAJQgCEiEDr-PbzFr74--85TEfXTAoSb195cQokgrdn0lDnFeBIP0Q_aSZqwYaCwoJBK6Kf1-RAnVEKkcwRQIhALKgBZMCEj7HgUurhln83vaprOB3fKJ-Ys3uBVjc6uErAiAogqNyb8GGmeZYDUouoymll-f4436H1USbpV8VKhW1-Q
- --bootstrap-node=spr:CiUIAhIhA7E4DEMer8nUOIUSaNPA4z6x0n9Xaknd28Cfw9S2-cCeEgIDARo8CicAJQgCEiEDsTgMQx6vydQ4hRJo08DjPrHSf1dqSd3bwJ_D1Lb5wJ4Qk5-cqwYaCwoJBEDhWZORAnVYKkYwRAIgDo5waIP4k16ygllsQ_F2MkB-k4bNVcKAF0KigACXyGECIF0_F0bKS1rNJ6GQju7p2eiIGGn-WTc9wNriNsXkVvyW
- --bootstrap-node=spr:CiUIAhIhAzZn3JmJab46BNjadVnLNQKbhnN3eYxwqpteKYY32SbOEgIDARo8CicAJQgCEiEDNmfcmYlpvjoE2Np1Wcs1ApuGc3d5jHCqm14phjfZJs4QmKWcqwYaCwoJBKpA-TaRAnViKkYwRAIgOBKHCLY_n9Du7YOPPKYgCjUU8qmXMZ9JTo03cgInhkICIGpH78Ip6JQdLeBL7D5XWY82DaBN7tsWUlxV-rHpGiJQ
environment:
- CODEX_DATA_DIR=/data
- CODEX_LOG_LEVEL=TRACE;warn:discv5,providers,manager,cache;warn:libp2p,multistream,switch,transport,tcptransport,semaphore,asyncstreamwrapper,lpstream,mplex,mplexchannel,noise,bufferstream,mplexcoder,secure,chronosstream,connection,connmanager,websock,ws-session
- CODEX_API_PORT=8080
- CODEX_API_BINDADDR=0.0.0.0
- CODEX_LISTEN_ADDRS=/ip4/0.0.0.0/tcp/8070
- CODEX_DISC_PORT=8090
- NAT_PUBLIC_IP_AUTO=${NAT_PUBLIC_IP_AUTO:-https://ip.codex.storage}
- CODEX_ETH_PROVIDER=${CODEX_ETH_PROVIDER:-ws://geth:8546}
- CODEX_VALIDATOR=false
- PRIV_KEY=${PRIV_KEY}
- CODEX_MARKETPLACE_ADDRESS=0x6411d9c4f8d16Fe6Dc632660a2d196BEE0Aa4546
ports:
- 8080:8080/tcp # API
- 8090:8090/udp # Discovery
- 8070:8070/tcp # Transport
volumes:
- ./codex-data:/data
logging:
driver: json-file
options:
max-size: 100m
max-file: 5
networks:
- codex
depends_on:
geth:
condition: service_healthy
# Geth init
geth-init:
image: ethereum/client-go:v1.13.14
container_name: geth-init
entrypoint: /bin/sh
command: -c '[ -d /data/geth/chaindata ] && echo "Genesis block already created" || geth init --datadir /data /data/genesis.json'
volumes:
- ./geth-data:/data
- ./genesis.json:/data/genesis.json
networks:
- codex
# Geth
geth:
image: ethereum/client-go:v1.13.14
container_name: geth
environment:
- GETH_DATADIR=/data
- GETH_NETWORKID=789987
- GETH_SYNCMODE=snap
# - GETH_NAT=extip:1.1.1.1
- GETH_NAT=auto
- GETH_DISCOVERY_PORT=8547
- GETH_PORT=8548
- GETH_VERBOSITY=${GETH_VERBOSITY:-3}
- GETH_HTTP=true
- GETH_HTTP_PORT=8545
- GETH_HTTP_ADDR=0.0.0.0
- GETH_WS=true
- GETH_WS_PORT=8546
- GETH_WS_ADDR=0.0.0.0
- GETH_BOOTNODES=enode://cff0c44c62ecd6e00d72131f336bb4e4968f2c1c1abeca7d4be2d35f818608b6d8688b6b65a18f1d57796eaca32fd9d08f15908a88afe18c1748997235ea6fe7@159.223.243.50:40010,enode://ea331eaa8c5150a45b793b3d7c17db138b09f7c9dd7d881a1e2e17a053e0d2600e0a8419899188a87e6b91928d14267949a7e6ec18bfe972f3a14c5c2fe9aecb@68.183.245.13:40030,enode://4a7303b8a72db91c7c80c8fb69df0ffb06370d7f5fe951bcdc19107a686ba61432dc5397d073571433e8fc1f8295127cabbcbfd9d8464b242b7ad0dcd35e67fc@174.138.127.95:40020,enode://36f25e91385206300d04b95a2f8df7d7a792db0a76bd68f897ec7749241b5fdb549a4eecfab4a03c36955d1242b0316b47548b87ad8291794ab6d3fecda3e85b@64.225.89.147:40040,enode://2e14e4a8092b67db76c90b0a02d97d88fc2bb9df0e85df1e0a96472cdfa06b83d970ea503a9bc569c4112c4c447dbd1e1f03cf68471668ba31920ac1d05f85e3@170.64.249.54:40050
ports:
- 8545:8545/tcp # HTTP-RPC
- 8546:8546/tcp # WS-RPC
- 8547:8547/udp # Discovery
- 8548:8548/tcp # Transport
volumes:
- ./geth-data:/data
logging:
driver: json-file
options:
max-size: 100m
max-file: 5
depends_on:
- geth-init
networks:
- codex
healthcheck:
test: ["CMD", "sleep", "15"]
interval: 10s
timeout: 60s
retries: 100
start_period: 5m
networks:
codex:
name: codex
driver: bridge