version: '3.9' services: # Codex Frontend codex-frontend: image: codexstorage/codex-frontend:latest pull_policy: always environment: - codex_url=http://codex:8080 ports: - 3000:80 depends_on: - codex # Codex Node codex: image: codexstorage/nim-codex:latest-dist-tests pull_policy: always environment: - 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 - CODEX_BOOTSTRAP_NODE=spr:CiUIAhIhAlrt4nrtZA6BtsyuUS2lJoZQQaRjItOCvdbNBWAwjpXNEgIDARo8CicAJQgCEiECWu3ieu1kDoG2zK5RLaUmhlBBpGMi04K91s0FYDCOlc0QpunsqgYaCwoJBJ_f5lWRAnVOKkcwRQIhANP3hAuwJpazzbj6kLlB2QNfAMeL6mbaRDBigZHVzJvdAiBuyNcpvulJ7O8D4enYhASY05UfxBLUl0VMHJptwWv6KQ - NAT_PUBLIC_IP_AUTO=https://ip.codex.storage - NAT_IP_AUTO=false - CODEX_ETH_PROVIDER=ws://geth:8546 - CODEX_PERSISTENCE=true - CODEX_VALIDATOR=false - CODEX_MARKETPLACE_ADDRESS=0x92F09Aa59DcCb892a9f5406DDd9c0b98f02EA57e - PRIV_KEY= ports: - 8080:8080/tcp # API port - 8090:8090/udp # Discovery port - 8070:8070/tcp # Listen port volumes: - ./codex-data:/datadir depends_on: - geth # Geth init geth-init: image: ethereum/client-go:v1.13.5 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 # Get geth: image: ethereum/client-go:v1.13.5 environment: - GETH_DATADIR=/data - GETH_NETWORKID=789987 - GETH_SYNCMODE=full - GETH_NAT=auto - GETH_DISCOVERY_PORT=8547 - GETH_PORT=8548 - 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 # Listen volumes: - ./geth-data:/data depends_on: - geth-init