version: '3.9' networks: injective: name: injective services: mongo: container_name: mongo image: mongo:6.0.7 restart: always command: mongod --dbpath /data/db --replSet rs0 --port 27017 --bind_ip 0.0.0.0 --wiredTigerCacheSizeGB ${MONGO_WIREDTIGER_CACHE_GB} ports: - 127.0.0.1:27017:27017 deploy: resources: limits: memory: ${MONGO_RAM_LIMIT} networks: - injective volumes: - ./volumes/mongo:/data/db - ./volumes/dumps:/dumps - ./scripts/mongo-init.sh:/docker-entrypoint-initdb.d/mongo-init.sh mongo-exporter: image: bitnami/mongodb-exporter:0.40.0 container_name: mongo-exporter restart: always environment: MONGODB_URI: mongodb://mongo:27017 ports: - 9216:9216 depends_on: - mongo networks: - injective injective-core: container_name: injective-core image: "public.ecr.aws/l9h3g6c6/injective-core:${INJ_CORE_IMAGE_VERSION}" pull_policy: always restart: always extra_hosts: - "host.docker.internal:host-gateway" environment: APP_ENV: ${APP_ENV} APP_VERSION: ${APP_VERSION} LOG_BUGSNAG_KEY: ${LOG_BUGSNAG_KEY} LOG_BUGSNAG_ENABLED: ${LOG_BUGSNAG_ENABLED} command: - /bin/sh - -c - | ulimit -n 120000 yes 12345678 | injectived \ --log-level=${LOG_LEVEL} \ --rpc.laddr "tcp://0.0.0.0:26657" \ ${INJ_CORE_CMD_STREAM_API} \ --wasm.memory_cache_size ${WASM_MEM_CACHE_SIZE} \ --wasm.query_gas_limit ${WASM_QUERY_GAS_LIMIT} \ ${INJ_CORE_JSON_RPC_FLAGS} \ start ports: - 26660:26660 - 26656:26656 - 26657:26657 - 9900:9900 - 9091:9091 - 10337:10337 - 9999:9999 - 9998:9998 - 8545:8545 - 8546:8546 deploy: resources: limits: memory: ${INJ_CORE_STACK_RESOURCE_RAM_LIMIT} reservations: memory: ${INJ_CORE_STACK_RESOURCE_RAM_RESEVATION} networks: - injective volumes: - ./volumes/.injectived:/root/.injectived - ./scripts:/home/ubuntu/scripts healthcheck: test: [ "CMD", "curl", "-f", "http://injective-core:26657" ] interval: 60s timeout: 5s retries: 5 start_period: 1s sentry-sidecar: container_name: sentry-sidecar image: public.ecr.aws/l9h3g6c6/sentry-sidecar:${SIDECAR_IMAGE_VERSION} restart: always networks: - injective pull_policy: always env_file: - .env extra_hosts: - "host.docker.internal:host-gateway" environment: HEALTH_BLOCK_DIFF: ${SIDECAR_HEALTH_BLOCK_DIFF} HORACLE_URL: ${INDEXER_HTTP_HORACLE_ADDR} SENTRY_URL: ${SIDECAR_SENTRY_URL} WEB3GW_URL: ${SIDECAR_WEB3GW_URL} EVM_URL: ${SIDECAR_EVM_URL} SYNC_TIME_DELTA: ${SIDECAR_SYNC_TIME_DELTA} SENTRY_WATCHER_INTERVAL: ${SIDECAR_SENTRY_WATCHER_INTERVAL} LISTEN_ADDRESS: ${SIDECAR_LISTEN_ADDRESS} LISTEN_PORT: ${SIDECAR_LISTEN_PORT} ports: - 8888:${SIDECAR_LISTEN_PORT} indexer-exchange-import: container_name: indexer-exchange-import image: public.ecr.aws/l9h3g6c6/injective-indexer:${EXCHANGE_IMPORT_VERSION} pull_policy: always command: injective-indexer exchange-import logging: driver: journald extra_hosts: - "host.docker.internal:host-gateway" hostname: ${HOSTNAME} environment: # universal INDEXER_LOG_LEVEL: ${LOG_LEVEL} INDEXER_ENV: ${APP_ENV} INDEXER_SERVICE_WAIT_TIMEOUTEVEL: 1m # bugsnag APP_ENV: ${APP_ENV} APP_VERSION: ${EXCHANGE_APP_VERSION} LOG_BUGSNAG_KEY: ${LOG_BUGSNAG_KEY} LOG_BUGSNAG_ENABLED: ${LOG_BUGSNAG_ENABLED} ## statsd INDEXER_STATSD_AGENT: ${INDEXER_STATSD_AGENT} INDEXER_STATSD_PREFIX: indexer-exchange-import INDEXER_STATSD_ADDR: host.docker.internal:8125 INDEXER_STATSD_STUCK_DUR: 5m INDEXER_STATSD_MOCKING: ${INDEXER_STATSD_MOCKING} INDEXER_STATSD_DISABLED: ${INDEXER_STATSD_DISABLED} ## pprof INDEXER_PPROF_ENABLED: "false" INDEXER_PPROF_ADDR: "0.0.0.0:6060" # cmd specific INDEXER_ASSETS_SERVICE_URL: ${INDEXER_ASSETS_SERVICE_URL} ASSET_SERVICE_GRPC_ADDRESS: ${ASSET_SERVICE_GRPC_ADDRESS} ASSET_SERVICE_USE_HTTP: ${ASSET_SERVICE_USE_HTTP} ## mongo INDEXER_DB_MONGO_CONNECTION: ${INDEXER_DB_MONGO_CONNECTION} INDEXER_DB_MONGO_DBNAME: ${INDEXER_DB_MONGO_DBNAME} INDEXER_DB_BLOCK_BATCH: ## genesis INDEXER_PROTO_ALLOW_UNKNOWN_FIELDS: ${INDEXER_PROTO_ALLOW_UNKNOWN_FIELDS} INDEXER_GENESIS_FILE: /root/.injectived/config/genesis.json deploy: resources: limits: memory: 4G networks: - injective volumes: - ~/.injectived/config:/root/.injectived/config indexer-exchange-process: container_name: indexer-exchange-process image: public.ecr.aws/l9h3g6c6/injective-indexer:${EXCHANGE_PROCESS_VERSION} pull_policy: always restart: always command: injective-indexer exchange-process logging: driver: journald extra_hosts: - "host.docker.internal:host-gateway" hostname: ${HOSTNAME} environment: # universal INDEXER_LOG_LEVEL: ${LOG_LEVEL} INDEXER_ENV: ${APP_ENV} INDEXER_SERVICE_WAIT_TIMEOUTEVEL: 1m # bugsnag APP_ENV: ${APP_ENV} APP_VERSION: ${EXCHANGE_APP_VERSION} LOG_BUGSNAG_KEY: ${LOG_BUGSNAG_KEY} LOG_BUGSNAG_ENABLED: ${LOG_BUGSNAG_ENABLED} ## statsd INDEXER_STATSD_AGENT: ${INDEXER_STATSD_AGENT} INDEXER_STATSD_PREFIX: indexer-exchange-process INDEXER_STATSD_ADDR: host.docker.internal:8125 INDEXER_STATSD_STUCK_DUR: 5m INDEXER_STATSD_MOCKING: ${INDEXER_STATSD_MOCKING} INDEXER_STATSD_DISABLED: ${INDEXER_STATSD_DISABLED} ## pprof INDEXER_PPROF_ENABLED: "false" INDEXER_PPROF_ADDR: "0.0.0.0:6060" # cmd specific INDEXER_EXCHANGE_REBUILD_ORDERBOOKS: ${INDEXER_EXCHANGE_REBUILD_ORDERBOOKS} INDEXER_SPOT_GRID_TRADING_CONTRACT_WHITELIST: ${INDEXER_SPOT_GRID_TRADING_CONTRACT_WHITELIST} INDEXER_ASSETS_SERVICE_URL: ${INDEXER_ASSETS_SERVICE_URL} ASSET_SERVICE_GRPC_ADDRESS: ${ASSET_SERVICE_GRPC_ADDRESS} ASSET_SERVICE_USE_HTTP: ${ASSET_SERVICE_USE_HTTP} INDEXER_MIXPANEL_ENABLED: ${INDEXER_MIXPANEL_ENABLED} INDEXER_MIXPANEL_PROJECT_TOKEN: ${INDEXER_MIXPANEL_PROJECT_TOKEN} INDEXER_EXCHANGE_STATS_JOB_INTERVAL: ${INDEXER_EXCHANGE_STATS_JOB_INTERVAL} ## mongo INDEXER_DB_MONGO_CONNECTION: ${INDEXER_DB_MONGO_CONNECTION} INDEXER_DB_MONGO_DBNAME: ${INDEXER_DB_MONGO_DBNAME} INDEXER_DB_ARCHIVE_EVENTS: "true" INDEXER_DB_MIGRATION_VERSION: ${INDEXER_DB_MIGRATION_VERSION} INDEXER_DB_MIGRATION_HEIGHT: ${INDEXER_DB_MIGRATION_HEIGHT} INDEXER_DB_MIGRATION_NAME: ${INDEXER_DB_MIGRATION_NAME} INDEXER_DB_PAUSE_HEIGHT: ${INDEXER_DB_PAUSE_HEIGHT} INDEXER_DB_MONGO_ASYNC_INDEXING: "true" ## cosmos INDEXER_PROTO_ALLOW_UNKNOWN_FIELDS: ${INDEXER_PROTO_ALLOW_UNKNOWN_FIELDS} INDEXER_COSMOS_CHAIN_ID: ${CHAIN_ID} INDEXER_COSMOS_CHAIN_NETWORK: ${NETWORK} INDEXER_COSMOS_GRPC_ENDPOINTS: ${INDEXER_COSMOS_GRPC_ENDPOINTS} INDEXER_TENDERMINT_RPC_ENDPOINTS: ${INDEXER_TENDERMINT_RPC_ENDPOINTS} INDEXER_COSMOS_LCD_URL: ${INDEXER_COSMOS_LCD_URL} INDEXER_BLOCK_FETCH_JOBS: ${INDEXER_BLOCK_FETCH_JOBS} INDEXER_MAX_BLOCK_FETCH_JOBS: ${INDEXER_MAX_BLOCK_FETCH_JOBS} INDEXER_MIN_BLOCK_FETCH_JOBS: ${INDEXER_MIN_BLOCK_FETCH_JOBS} INDEXER_DB_EVENTPROVIDER_ENDPOINT: ${INDEXER_DB_EVENTPROVIDER_ENDPOINT} INDEXER_DB_EVENTPROVIDER_GRPC_ADDRESS: ${INDEXER_DB_EVENTPROVIDER_GRPC_ADDRESS} INDEXER_CHAIN_START_HEIGHT: ${INDEXER_CHAIN_START_HEIGHT} INDEXER_COSMOS_TLS_ENABLED: ${INDEXER_COSMOS_TLS_ENABLED} # soon to be deprecated cosmos vars # INDEXER_TENDERMINT_RPC: ${INDEXER_TENDERMINT_RPC} INDEXER_COSMOS_GRPC: ${INDEXER_COSMOS_GRPC} # resync INDEXER_RESYNC_DB_NAME: ${INDEXER_RESYNC_DB_NAME} INDEXER_RESYNC_FLOW: ${INDEXER_RESYNC_FLOW} INDEXER_RESYNC_START_HEIGHT: ${INDEXER_RESYNC_START_HEIGHT} INDEXER_HTTP_LISTEN_ADDR: 0.0.0.0:4444 INDEXER_GRPC_LISTEN_ADDR: 0.0.0.0:9910 INDEXER_HTTP_TLS_CERT: /apps/data/public.crt INDEXER_HTTP_TLS_KEY: /apps/data/private.key INDEXER_HTTP_HORACLE_ADDR: ${INDEXER_HTTP_HORACLE_ADDR} INDEXER_HTTP_EP_ADDR: ${INDEXER_HTTP_EP_ADDR} INDEXER_HEALTH_BLOCKDIFF_THRESHOLD: 30 INDEXER_HEALTH_TIMEDIFF_THRESHOLD: 60 # Soon to be deprecated horacle health vars INDEXER_HTTP_HORACLE_BLOCK_THRESHOLD: 30 INDEXER_HTTP_HORACLE_TIMESTAMP_THRESHOLD: 60 ports: - 6071:6060 - 19910:19910 - 14444:4444 deploy: resources: limits: memory: ${INDEXER_EXCHANGE_PROCESS_MEMORY_LIMIT} networks: - injective indexer-exchange-api: container_name: indexer-exchange-api image: public.ecr.aws/l9h3g6c6/injective-indexer:${EXCHANGE_API_VERSION} pull_policy: always restart: always command: injective-indexer exchange-api logging: driver: journald extra_hosts: - "host.docker.internal:host-gateway" hostname: ${HOSTNAME} environment: # universal INDEXER_LOG_LEVEL: ${LOG_LEVEL} INDEXER_ENV: ${APP_ENV} INDEXER_SERVICE_WAIT_TIMEOUTEVEL: 1m # bugsnag APP_ENV: ${APP_ENV} APP_VERSION: ${EXCHANGE_APP_VERSION} LOG_BUGSNAG_KEY: ${LOG_BUGSNAG_KEY} LOG_BUGSNAG_ENABLED: ${LOG_BUGSNAG_ENABLED} ## statsd INDEXER_STATSD_AGENT: ${INDEXER_STATSD_AGENT} INDEXER_STATSD_PREFIX: indexer-exchange-api INDEXER_STATSD_ADDR: host.docker.internal:8125 INDEXER_STATSD_STUCK_DUR: 5m INDEXER_STATSD_MOCKING: ${INDEXER_STATSD_MOCKING} INDEXER_STATSD_DISABLED: ${INDEXER_STATSD_DISABLED} ## pprof INDEXER_PPROF_ENABLED: "false" INDEXER_PPROF_ADDR: "0.0.0.0:6060" # cmd specific INDEXER_ASSETS_SERVICE_URL: ${INDEXER_ASSETS_SERVICE_URL} ASSET_SERVICE_GRPC_ADDRESS: ${ASSET_SERVICE_GRPC_ADDRESS} ASSET_SERVICE_USE_HTTP: ${ASSET_SERVICE_USE_HTTP} ## mongo INDEXER_DB_MONGO_CONNECTION: ${INDEXER_DB_MONGO_CONNECTION} INDEXER_DB_MONGO_DBNAME: ${INDEXER_DB_MONGO_DBNAME} INDEXER_DB_MONGO_ASYNC_INDEXING: "true" ## cosmos INDEXER_COSMOS_GRPC_ENDPOINTS: ${INDEXER_COSMOS_GRPC_ENDPOINTS} INDEXER_TENDERMINT_RPC_ENDPOINTS: ${INDEXER_TENDERMINT_RPC_ENDPOINTS} INDEXER_COSMOS_CHAIN_ID: ${CHAIN_ID} INDEXER_FEE_PAYER_PK: ${EXCHANGE_FEE_PAYER_PK} INDEXER_GAS_ADJUSTMENT_COEF: ${INDEXER_GAS_ADJUSTMENT_COEF} INDEXER_COSMOS_TLS_ENABLED: ${INDEXER_COSMOS_TLS_ENABLED} INDEXER_COSMOS_LCD_URL: ${INDEXER_COSMOS_LCD_URL} # soon to be deprecated cosmos vars# INDEXER_TENDERMINT_RPC: ${INDEXER_TENDERMINT_RPC} INDEXER_COSMOS_GRPC: ${INDEXER_COSMOS_GRPC} ## service INDEXER_GRPC_LISTEN_ADDR: 0.0.0.0:9910 INDEXER_HTTP_LISTEN_ADDR: 0.0.0.0:4444 INDEXER_HTTP_TLS_CERT: /apps/data/public.crt INDEXER_HTTP_TLS_KEY: /apps/data/private.key INDEXER_HTTP_HORACLE_ADDR: ${INDEXER_HTTP_HORACLE_ADDR} INDEXER_HTTP_EP_ADDR: ${INDEXER_HTTP_EP_ADDR} INDEXER_HEALTH_BLOCKDIFF_THRESHOLD: 30 INDEXER_HEALTH_TIMEDIFF_THRESHOLD: 60 # Soon to be deprecated horacle health vars INDEXER_HTTP_HORACLE_BLOCK_THRESHOLD: 30 INDEXER_HTTP_HORACLE_TIMESTAMP_THRESHOLD: 60 ports: - 4444:4444 - 9910:9910 - 6072:6060 deploy: resources: limits: memory: ${INDEXER_EXCHANGE_API_MEMORY_LIMIT} networks: - injective