forked from cerc-io/stack-orchestrator
4c72acea96
* Add a sushiswap stack with contract deployments * Add watcher services * Add a service for the info app * Add instructions to run smoke tests * Use sushi-info-watcher in demo mode * Turn off block prefetching * Fix sushiswap demo instructions * Use release version and add healthcheck in Lotus stack * Wait for Lotus node to start before sushiswap watchers --------- Co-authored-by: Nabarun <nabarun@deepstacksoft.com>
188 lines
6.2 KiB
YAML
188 lines
6.2 KiB
YAML
version: '3.2'
|
|
|
|
services:
|
|
sushiswap-watcher-db:
|
|
restart: unless-stopped
|
|
image: postgres:14-alpine
|
|
environment:
|
|
- POSTGRES_USER=vdbm
|
|
- POSTGRES_MULTIPLE_DATABASES=erc20-watcher,sushi-watcher,sushi-info-watcher,erc20-watcher-job-queue,sushi-watcher-job-queue,sushi-info-watcher-job-queue
|
|
- POSTGRES_EXTENSION=erc20-watcher-job-queue:pgcrypto,sushi-watcher-job-queue:pgcrypto,sushi-info-watcher-job-queue:pgcrypto
|
|
- POSTGRES_PASSWORD=password
|
|
command: ["postgres", "-c", "shared_preload_libraries=pg_stat_statements", "-c", "pg_stat_statements.track=all", "-c", "work_mem=2GB"]
|
|
volumes:
|
|
- ../config/postgresql/multiple-postgressql-databases.sh:/docker-entrypoint-initdb.d/multiple-postgressql-databases.sh
|
|
- ../config/postgresql/create-pg-stat-statements.sql:/docker-entrypoint-initdb.d/create-pg-stat-statements.sql
|
|
- sushiswap_watcher_db_data:/var/lib/postgresql/data
|
|
ports:
|
|
- "0.0.0.0:15435:5432"
|
|
healthcheck:
|
|
test: ["CMD", "nc", "-v", "localhost", "5432"]
|
|
interval: 20s
|
|
timeout: 5s
|
|
retries: 15
|
|
start_period: 10s
|
|
shm_size: '8GB'
|
|
|
|
erc20-watcher-server:
|
|
restart: unless-stopped
|
|
depends_on:
|
|
sushiswap-watcher-db:
|
|
condition: service_healthy
|
|
image: cerc/watcher-sushiswap:local
|
|
working_dir: /app/packages/erc20-watcher
|
|
environment:
|
|
- DEBUG=vulcanize:*
|
|
command: ["node", "--enable-source-maps", "dist/server.js"]
|
|
volumes:
|
|
- ../config/watcher-sushiswap/erc20-watcher.toml:/app/packages/erc20-watcher/environments/local.toml
|
|
ports:
|
|
- "0.0.0.0:3005:3001"
|
|
healthcheck:
|
|
test: ["CMD", "nc", "-v", "localhost", "3001"]
|
|
interval: 20s
|
|
timeout: 5s
|
|
retries: 15
|
|
start_period: 5s
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
|
|
sushi-watcher-job-runner:
|
|
restart: unless-stopped
|
|
depends_on:
|
|
sushiswap-watcher-db:
|
|
condition: service_healthy
|
|
lotus-node-1:
|
|
condition: service_healthy
|
|
image: cerc/watcher-sushiswap:local
|
|
working_dir: /app/packages/uni-watcher
|
|
environment:
|
|
- DEBUG=vulcanize:*
|
|
command: ["node", "--enable-source-maps", "dist/job-runner.js"]
|
|
volumes:
|
|
- ../config/watcher-sushiswap/sushi-watcher.toml:/app/packages/uni-watcher/environments/local.toml
|
|
- ../config/watcher-sushiswap/sushi-watcher-test.toml:/app/packages/uni-watcher/environments/test.toml
|
|
ports:
|
|
- "0.0.0.0:9004:9000"
|
|
healthcheck:
|
|
test: ["CMD", "nc", "-v", "localhost", "9000"]
|
|
interval: 20s
|
|
timeout: 5s
|
|
retries: 15
|
|
start_period: 5s
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
|
|
sushi-watcher-server:
|
|
restart: unless-stopped
|
|
depends_on:
|
|
sushiswap-watcher-db:
|
|
condition: service_healthy
|
|
sushi-watcher-job-runner:
|
|
condition: service_healthy
|
|
image: cerc/watcher-sushiswap:local
|
|
env_file:
|
|
- ../config/watcher-sushiswap/lotus-params.env
|
|
environment:
|
|
- DEBUG=vulcanize:*
|
|
working_dir: /app/packages/uni-watcher
|
|
command: ["node", "--enable-source-maps", "dist/server.js"]
|
|
volumes:
|
|
- ../config/watcher-sushiswap/sushi-watcher.toml:/app/packages/uni-watcher/environments/local.toml
|
|
- ../config/watcher-sushiswap/sushi-watcher-test.toml:/app/packages/uni-watcher/environments/test.toml
|
|
ports:
|
|
- "0.0.0.0:3003:3003"
|
|
- "0.0.0.0:9005:9001"
|
|
healthcheck:
|
|
test: ["CMD", "nc", "-v", "localhost", "3003"]
|
|
interval: 20s
|
|
timeout: 5s
|
|
retries: 15
|
|
start_period: 5s
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
|
|
sushi-info-watcher-job-runner:
|
|
restart: unless-stopped
|
|
depends_on:
|
|
sushiswap-watcher-db:
|
|
condition: service_healthy
|
|
erc20-watcher-server:
|
|
condition: service_healthy
|
|
lotus-node-1:
|
|
condition: service_healthy
|
|
sushi-watcher-server:
|
|
condition: service_healthy
|
|
image: cerc/watcher-sushiswap:local
|
|
working_dir: /app/packages/uni-info-watcher
|
|
environment:
|
|
- DEBUG=vulcanize:*
|
|
command: ["node", "--enable-source-maps", "dist/job-runner.js"]
|
|
volumes:
|
|
- ../config/watcher-sushiswap/sushi-info-watcher.toml:/app/packages/uni-info-watcher/environments/local.toml
|
|
- ../config/watcher-sushiswap/sushi-info-watcher-test.toml:/app/packages/uni-info-watcher/environments/test.toml
|
|
ports:
|
|
- "0.0.0.0:9006:9002"
|
|
healthcheck:
|
|
test: ["CMD", "nc", "-v", "localhost", "9002"]
|
|
interval: 20s
|
|
timeout: 5s
|
|
retries: 15
|
|
start_period: 5s
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
|
|
sushi-info-watcher-server:
|
|
restart: unless-stopped
|
|
depends_on:
|
|
sushiswap-watcher-db:
|
|
condition: service_healthy
|
|
erc20-watcher-server:
|
|
condition: service_healthy
|
|
sushi-watcher-server:
|
|
condition: service_healthy
|
|
sushi-info-watcher-job-runner:
|
|
condition: service_healthy
|
|
image: cerc/watcher-sushiswap:local
|
|
env_file:
|
|
- ../config/watcher-sushiswap/lotus-params.env
|
|
working_dir: /app/packages/uni-info-watcher
|
|
command: ["node", "--enable-source-maps", "dist/server.js"]
|
|
volumes:
|
|
- ../config/watcher-sushiswap/sushi-info-watcher.toml:/app/packages/uni-info-watcher/environments/local.toml
|
|
- ../config/watcher-sushiswap/sushi-info-watcher-test.toml:/app/packages/uni-info-watcher/environments/test.toml
|
|
ports:
|
|
- "0.0.0.0:3004:3004"
|
|
- "0.0.0.0:9007:9003"
|
|
healthcheck:
|
|
test: ["CMD", "nc", "-v", "localhost", "3004"]
|
|
interval: 20s
|
|
timeout: 5s
|
|
retries: 15
|
|
start_period: 5s
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
|
|
sushiswap-v3-info:
|
|
depends_on:
|
|
sushi-info-watcher-server:
|
|
condition: service_healthy
|
|
image: cerc/uniswap-v3-info:local
|
|
ports:
|
|
- "0.0.0.0:3006:3000"
|
|
|
|
# Deploys the core (UniswapV3Factory) contract
|
|
sushiswap-v3-core:
|
|
image: cerc/sushiswap-v3-core:local
|
|
env_file:
|
|
- ../config/watcher-sushiswap/lotus-params.env
|
|
|
|
# Deploys the periphery (NFPM, token, etc.) contracts
|
|
sushiswap-v3-periphery:
|
|
image: cerc/sushiswap-v3-periphery:local
|
|
env_file:
|
|
- ../config/watcher-sushiswap/lotus-params.env
|
|
|
|
volumes:
|
|
sushiswap_watcher_db_data:
|