diff --git a/compose/docker-compose-contract.yml b/compose/docker-compose-contract.yml new file mode 100644 index 00000000..e69de29b diff --git a/compose/docker-compose-db-sharding.yml b/compose/docker-compose-db-sharding.yml new file mode 100644 index 00000000..c0a267e1 --- /dev/null +++ b/compose/docker-compose-db-sharding.yml @@ -0,0 +1,32 @@ +version: "3.2" + +services: + migrations: + restart: on-failure + depends_on: + ipld-eth-db: + condition: service_healthy + image: vulcanize/ipld-eth-db:v4.1.4-alpha + environment: + DATABASE_USER: "vdbm" + DATABASE_NAME: "vulcanize_testing" + DATABASE_PASSWORD: "password" + DATABASE_HOSTNAME: "ipld-eth-db" + DATABASE_PORT: 5432 + + ipld-eth-db: + image: timescale/timescaledb:latest-pg14 + restart: always + command: ["postgres", "-c", "log_statement=all"] + environment: + POSTGRES_USER: "vdbm" + POSTGRES_DB: "vulcanize_testing" + POSTGRES_PASSWORD: "password" + healthcheck: + test: ["CMD", "nc", "-v", "localhost", "5432"] + interval: 30s + timeout: 10s + retries: 10 + start_period: 3s + ports: + - "127.0.0.1:8077:5432" diff --git a/compose/docker-compose-db.yml b/compose/docker-compose-db.yml new file mode 100644 index 00000000..e69de29b diff --git a/compose/docker-compose-eth-statediff-fill-service.yml b/compose/docker-compose-eth-statediff-fill-service.yml new file mode 100644 index 00000000..1d9f9cd1 --- /dev/null +++ b/compose/docker-compose-eth-statediff-fill-service.yml @@ -0,0 +1,22 @@ +version: "3.2" +services: + eth-statediff-fill-service: + restart: unless-stopped + depends_on: + ipld-eth-db: + condition: service_healthy + build: + context: ${vulcanize_eth_statediff_fill_service} + dockerfile: ./Dockerfile + environment: + ETH_SERVER_HTTPPATH: 0.0.0.0:8085 + VDB_COMMAND: "serve" + DATABASE_NAME: "vulcanize_testing" + DATABASE_HOSTNAME: "ipld-eth-db" + DATABASE_PORT: 5432 + DATABASE_USER: "vdbm" + DATABASE_PASSWORD: "password" + ETH_HTTP_PATH: $eth_http_path + WATCHED_ADDRESS_GAP_FILLER_INTERVAL: $watched_address_gap_filler_interval + ports: + - "127.0.0.1:8085:8085" diff --git a/compose/docker-compose-go-ethereum.yml b/compose/docker-compose-go-ethereum.yml new file mode 100644 index 00000000..d29f78cb --- /dev/null +++ b/compose/docker-compose-go-ethereum.yml @@ -0,0 +1,34 @@ +version: "3.2" + +services: + go-ethereum: + restart: unless-stopped + depends_on: + ipld-eth-db: + condition: service_healthy + build: + context: ../../ + dockerfile: ./docker/local/go-ethereum.Dockerfile + args: + GENESIS_FILE_PATH: ${genesis_file_path} + healthcheck: + test: ["CMD", "nc", "-v", "localhost", "8545"] + interval: 30s + timeout: 3s + retries: 10 + environment: + DB_USER: vdbm + DB_NAME: vulcanize_testing + DB_HOST: ipld-eth-db + DB_PORT: 5432 + DB_PASSWORD: password + DB_WRITE: ${db_write} + DB_TYPE: postgres + DB_DRIVER: sqlx + DB_WAIT_FOR_SYNC: "true" + CHAIN_ID: "99" + USE_GENESIS: "true" + EXTRA_START_ARGS: ${extra_args} + ports: + - "127.0.0.1:8545:8545" + - "127.0.0.1:8546:8546" diff --git a/compose/docker-compose-ipld-eth-beacon-db.yml b/compose/docker-compose-ipld-eth-beacon-db.yml new file mode 100644 index 00000000..9bb38003 --- /dev/null +++ b/compose/docker-compose-ipld-eth-beacon-db.yml @@ -0,0 +1,17 @@ +version: "3.2" +services: + ipld-eth-beacon-db: + restart: always + image: vulcanize/ipld-eth-beacon-db:v0.2.0 + environment: + POSTGRES_USER: vdbm + POSTGRES_DB: vulcanize_testing + POSTGRES_PASSWORD: password + volumes: + - vdb_db_eth-beacon_db:/var/lib/postgresql/data + ports: + - "127.0.0.1:8076:5432" + command: ["postgres", "-c", "log_statement=all"] + +volumes: + vdb_db_eth-beacon_db: diff --git a/compose/docker-compose-ipld-eth-beacon-indexer.yml b/compose/docker-compose-ipld-eth-beacon-indexer.yml new file mode 100644 index 00000000..0ca3f287 --- /dev/null +++ b/compose/docker-compose-ipld-eth-beacon-indexer.yml @@ -0,0 +1,14 @@ +version: "3.2" +services: + ipld-eth-beacon-indexer: + restart: unless-stopped + depends_on: + - ipld-eth-beacon-db + - lighthouse + image: vulcanize/ipld-eth-beacon-indexer:v0.2.0 + volumes: + - type: bind + source: ${eth_beacon_config_file} + target: /root/ipld-eth-beacon-config.json + environment: + CAPTURE_MODE: ${eth_beacon_capture_mode} diff --git a/compose/docker-compose-ipld-eth-server.yml b/compose/docker-compose-ipld-eth-server.yml new file mode 100644 index 00000000..e69de29b diff --git a/compose/docker-compose-lighthouse.yml b/compose/docker-compose-lighthouse.yml new file mode 100644 index 00000000..e69de29b diff --git a/compose/docker-compose-prometheus-grafana.yml b/compose/docker-compose-prometheus-grafana.yml new file mode 100644 index 00000000..82042108 --- /dev/null +++ b/compose/docker-compose-prometheus-grafana.yml @@ -0,0 +1,21 @@ +version: "3.2" +services: + # If you want prometheus to work, you must update the following file in the ops repo locally. + # localhost:6060 --> go-ethereum:6060 + prometheus: + restart: always + user: "987" + image: prom/prometheus + volumes: + - ${vulcanize_ops}/metrics/etc:/etc/prometheus + - ./prometheus-data:/prometheus + ports: + - "127.0.0.1:9090:9090" + grafana: + restart: always + user: "472" + image: grafana/grafana + volumes: + - ./grafana-data:/var/lib/grafana + ports: + - "127.0.0.1:3000:3000"