github.com/machinefi/w3bstream@v1.6.5-rc9.0.20240426031326-b8c7c4876e72/docker-compose.yaml (about)

     1  version: "3.6"
     2  
     3  services:
     4    w3bapp:
     5      image: ${WS_BACKEND_IMAGE:-ghcr.io/machinefi/w3bstream:main}
     6      depends_on:
     7        - "postgres"
     8        - "mqtt_server"
     9        - "redis"
    10      container_name: w3bstream
    11      working_dir: /w3bstream
    12      restart: always
    13      ports:
    14        - "8888:8888"
    15        - "8889:8889"
    16      environment:
    17        SRV_APPLET_MGR__EthClient_Endpoints: '{"4689": "https://babel-api.mainnet.iotex.io", "4690": "https://babel-api.testnet.iotex.io", "1": "https://ethereum.iotex.one/v1/mainnet", "5": "https://ethereum.iotex.one/v1/goerli", "137": "https://polygon-rpc.com", "80001": "https://mumbai.polygonscan.com/"}'
    18        SRV_APPLET_MGR__ChainConfig_Configs: '[{"chainID":4689,"name":"iotex-mainnet","endpoint":"https://babel-api.mainnet.iotex.io"},{"chainID":4690,"name":"iotex-testnet","endpoint":"https://babel-api.testnet.iotex.io","aaBundlerEndpoint":"https://bundler.testnet.w3bstream.com","aaPaymasterEndpoint":"https://paymaster.testnet.w3bstream.com/rpc","aaEntryPointContractAddress":"0xc3527348De07d591c9d567ce1998eFA2031B8675","aaAccountFactoryContractAddress":"0xA8e5d5Ca2924f176BD3Bf1049550920969F23450"},{"chainID":1,"name":"ethereum-mainnet","endpoint":"https://ethereum.iotex.one/v1/mainnet"},{"chainID":5,"name":"goerli","endpoint":"https://ethereum.iotex.one/v1/goerli"},{"chainID":137,"name":"polygon-mainnet","endpoint":"https://polygon-rpc.com"},{"chainID":80001,"name":"mumbai","endpoint":"https://polygon-mumbai-bor.publicnode.com"},{"name":"solana-devnet","endpoint":"https://api.devnet.solana.com"},{"name":"solana-testnet","endpoint":"https://api.testnet.solana.com"},{"name":"solana-mainnet-beta","endpoint":"https://api.mainnet-beta.solana.com"},{"chainID":421613,"name":"arbitrum-goerli","endpoint":"https://goerli-rollup.arbitrum.io/rpc"},{"chainID":42161,"name":"arbitrum-one","endpoint":"https://arb1.arbitrum.io/rpc"},{"chainID":420,"name":"op-goerli","endpoint":"https://goerli.optimism.io"},{"chainID":10,"name":"op-mainnet","endpoint":"https://mainnet.optimism.io"},{"chainID":8453,"name":"base-mainnet","endpoint":"https://mainnet.base.org"},{"chainID":84531,"name":"base-goerli","endpoint":"https://goerli.base.org"},{"chainID":324,"name":"zksync-era-mainnet","endpoint":"https://mainnet.era.zksync.io"},{"chainID":280,"name":"zksync-era-testnet","endpoint":"https://testnet.era.zksync.dev"},{"chainID":71,"name":"conflux-espace-testnet","endpoint":"https://evmtestnet.confluxrpc.com"},{"chainID":1030,"name":"conflux-espace-mainnet","endpoint":"https://evm.confluxrpc.com"}]'
    19        SRV_APPLET_MGR__ChainConfig_AAUserOpEndpoint: http://aa_service:8080/userop/tx
    20        SRV_APPLET_MGR__Jwt_ExpIn: ${JWT_EXPIN:-1h}
    21        SRV_APPLET_MGR__Jwt_Issuer: ${JWT_ISSUER:-w3bstream}
    22        SRV_APPLET_MGR__Postgres_Master: postgresql://${POSTGRES_USER:-w3badmin}:${POSTGRES_PASSWORD:-PaSsW0Rd}@postgres:5432/${POSTGRES_DB:-w3bstream}?sslmode=disable&application_name=mgr
    23        SRV_APPLET_MGR__Postgres_ConnMaxLifetime: 10m
    24        SRV_APPLET_MGR__Postgres_PoolSize: 5
    25        SRV_APPLET_MGR__MonitorDB_Master: postgresql://${POSTGRES_USER:-w3badmin}:${POSTGRES_PASSWORD:-PaSsW0Rd}@postgres:5432/${POSTGRES_DB:-w3bstream}?sslmode=disable&application_name=monitor
    26        SRV_APPLET_MGR__MonitorDB_ConnMaxLifetime: 10m
    27        SRV_APPLET_MGR__MonitorDB_PoolSize: 5
    28        SRV_APPLET_MGR__WasmDB: postgresql://${POSTGRES_USER:-w3badmin}:${POSTGRES_PASSWORD:-PaSsW0Rd}@postgres:5432
    29        SRV_APPLET_MGR__MqttBroker_Server: mqtt://mqtt_server:1883
    30        SRV_APPLET_MGR__MetricsCenter_Endpoint: http://prometheus:9090
    31        SRV_APPLET_MGR__MetricsCenter_ClickHouseDSN: ""
    32        SRV_APPLET_MGR__Server_Port: "8888"
    33        SRV_APPLET_MGR__ServerEvent_Port: "8889"
    34        SRV_APPLET_MGR__LocalFS_Root: /w3bstream/asserts
    35      volumes:
    36        - ${WS_WORKING_DIR:-.}/asserts:/w3bstream/asserts
    37  
    38    mqtt_server:
    39      image: eclipse-mosquitto:1.6.15
    40      container_name: mosquitto
    41      restart: always
    42      ports:
    43        - "1883:1883"
    44      volumes:
    45        - ${WS_WORKING_DIR:-.}/mqtt:/mosquitto/data
    46  
    47    postgres:
    48      image: postgres:13
    49      restart: always
    50      command:
    51        [
    52          "postgres",
    53          "-cshared_preload_libraries=pg_stat_statements"
    54        ]
    55      environment:
    56        POSTGRES_USER: ${POSTGRES_USER:-w3badmin}
    57        POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-PaSsW0Rd}
    58        POSTGRES_DB: ${POSTGRES_DB:-w3bstream}
    59      volumes:
    60        - ${WS_WORKING_DIR:-.}/postgres:/var/lib/postgresql/data
    61      ports:
    62        - "5432:5432"
    63  
    64    redis:
    65      image: 'redis:6.2'
    66      restart: always
    67      volumes:
    68        - ${WS_WORKING_DIR:-.}/redisdb:/data
    69      environment:
    70        REDIS_PASSWORD: ${REDIS_PASSWORD:-w3bredispasS}
    71      command: redis-server --requirepass ${REDIS_PASSWORD:-w3bredispasS}
    72      ports:
    73        - '6379:6379'
    74  
    75    aa_service:
    76      image: iotexdev/aa-service
    77      container_name: aa-service
    78      restart: always
    79      ports:
    80        - "8080:8080"