This commit is contained in:
goldsquid
2025-06-18 18:52:21 +07:00
parent 8d8e8fcb14
commit 0f5daff12e
34 changed files with 68 additions and 68 deletions

View File

@@ -24,12 +24,12 @@ x-logging-defaults: &logging-defaults
#
# docker compose up -d
#
# curl -X POST https://${IP}.traefik.me/solana-mainnet-agave \
# curl -X POST https://${IP}.traefik.me/solana-mainnet \
# -H "Content-Type: application/json" \
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
services:
solana-mainnet-agave-client:
solana-mainnet-client:
image: ${SOLANA_FIRESOL_IMAGE:-ghcr.io/streamingfast/firehose-solana}:${SOLANA_MAINNET_FIRESOL_VERSION:-v1.1.3}
sysctls:
# TCP Performance
@@ -93,19 +93,19 @@ services:
- prometheus-scrape.port=12344
- prometheus-scrape.path=/metrics
solana-mainnet-agave:
solana-mainnet:
image: nginx
expose:
- '80'
environment:
PROXY_HOST: solana-mainnet-agave-client
PROXY_HOST: solana-mainnet-client
RPC_PATH: ''
RPC_PORT: 8899
WS_PATH: ''
WS_PORT: 8899
restart: unless-stopped
depends_on:
- solana-mainnet-agave-client
- solana-mainnet-client
networks:
- chains
volumes:
@@ -114,15 +114,15 @@ services:
labels:
- prometheus-scrape.enabled=false
- traefik.enable=true
- traefik.http.middlewares.solana-mainnet-agave-pruned-rocksdb-stripprefix.stripprefix.prefixes=/solana-mainnet-agave
- traefik.http.middlewares.solana-mainnet-agave-pruned-rocksdb-stripprefix.stripprefix.prefixes=/solana-mainnet
- traefik.http.services.solana-mainnet-agave-pruned-rocksdb.loadbalancer.server.port=80
- ${NO_SSL:-traefik.http.routers.solana-mainnet-agave-pruned-rocksdb.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.solana-mainnet-agave-pruned-rocksdb.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.solana-mainnet-agave-pruned-rocksdb.rule=Host(`$DOMAIN`) && (Path(`/solana-mainnet-agave`) || Path(`/solana-mainnet-agave/`))}
- ${NO_SSL:+traefik.http.routers.solana-mainnet-agave-pruned-rocksdb.rule=Path(`/solana-mainnet-agave`) || Path(`/solana-mainnet-agave/`)}
- ${NO_SSL:-traefik.http.routers.solana-mainnet-agave-pruned-rocksdb.rule=Host(`$DOMAIN`) && (Path(`/solana-mainnet`) || Path(`/solana-mainnet/`))}
- ${NO_SSL:+traefik.http.routers.solana-mainnet-agave-pruned-rocksdb.rule=Path(`/solana-mainnet`) || Path(`/solana-mainnet/`)}
- traefik.http.routers.solana-mainnet-agave-pruned-rocksdb.middlewares=solana-mainnet-agave-pruned-rocksdb-stripprefix, ipallowlist
solana-mainnet-agave-firehose:
solana-mainnet-firehose:
image: ${SOLANA_FIRESOL_IMAGE:-ghcr.io/streamingfast/firehose-solana}:${SOLANA_MAINNET_FIRESOL_VERSION:-v1.1.3}
expose:
- 10015
@@ -134,10 +134,10 @@ services:
- --firehose-rate-limit-bucket-fill-rate=${SOLANA_MAINNET_FIREHOSE_RATE_LIMIT_BUCKET_FILL_RATE:-1s}
- --firehose-rate-limit-bucket-size=${SOLANA_MAINNET_FIREHOSE_RATE_LIMIT_BUCKET_SIZE:-200}
- --log-to-file=false
- --relayer-source=solana-mainnet-agave-client:10010
- --relayer-source=solana-mainnet-client:10010
restart: unless-stopped
depends_on:
- solana-mainnet-agave
- solana-mainnet
networks:
- chains
volumes:
@@ -151,23 +151,23 @@ services:
- traefik.http.services.solana-mainnet-agave-pruned-rocksdb-firehose.loadbalancer.server.port=10015
- traefik.http.routers.solana-mainnet-agave-pruned-rocksdb-firehose.entrypoints=grpc
- ${NO_SSL:-traefik.http.routers.solana-mainnet-agave-pruned-rocksdb-firehose.tls.certresolver=myresolver}
- traefik.http.routers.solana-mainnet-agave-pruned-rocksdb-firehose.rule=Host(`solana-mainnet-agave-firehose.${DOMAIN}`)
- traefik.http.routers.solana-mainnet-agave-pruned-rocksdb-firehose.rule=Host(`solana-mainnet-firehose.${DOMAIN}`)
- traefik.http.routers.solana-mainnet-agave-pruned-rocksdb-firehose.middlewares=ipallowlist
solana-mainnet-agave-events:
solana-mainnet-events:
image: ${SOLANA_FIRESOL_IMAGE:-ghcr.io/streamingfast/firehose-solana}:${SOLANA_MAINNET_FIRESOL_VERSION:-v1.1.3}
expose:
- 10016
entrypoint: [sh, -c, exec firesol --config-file="" --log-to-file=false start substreams-tier1 substreams-tier2 $@, _]
command:
- --common-live-blocks-addr=solana-mainnet-agave-firehose:10014
- --common-live-blocks-addr=solana-mainnet-firehose:10014
- --log-to-file=false
- --substreams-block-execution-timeout=${SOLANA_MAINNET_SUBSTREAMS_BLOCK_EXECUTION_TIMEOUT:-3m0s}
- --substreams-rpc-endpoints=${SOLANA_MAINNET_EXECUTION_ARCHIVE_RPC}
- --substreams-tier1-max-subrequests=${SOLANA_MAINNET_SUBSTREAMS_TIER1_MAX_SUBREQUESTS:-4}
restart: unless-stopped
depends_on:
- solana-mainnet-agave
- solana-mainnet
networks:
- chains
volumes:
@@ -180,7 +180,7 @@ services:
- traefik.http.services.solana-mainnet-agave-pruned-rocksdb-events.loadbalancer.server.port=10016
- traefik.http.routers.solana-mainnet-agave-pruned-rocksdb-events.entrypoints=grpc
- ${NO_SSL:-traefik.http.routers.solana-mainnet-agave-pruned-rocksdb-events.tls.certresolver=myresolver}
- traefik.http.routers.solana-mainnet-agave-pruned-rocksdb-events.rule=Host(`solana-mainnet-agave-events.${DOMAIN}`)
- traefik.http.routers.solana-mainnet-agave-pruned-rocksdb-events.rule=Host(`solana-mainnet-events.${DOMAIN}`)
- traefik.http.routers.solana-mainnet-agave-pruned-rocksdb-events.middlewares=ipallowlist
volumes:

View File

@@ -24,12 +24,12 @@ x-logging-defaults: &logging-defaults
#
# docker compose up -d
#
# curl -X POST https://${IP}.traefik.me/solana-testnet-agave \
# curl -X POST https://${IP}.traefik.me/solana-testnet \
# -H "Content-Type: application/json" \
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
services:
solana-testnet-agave-client:
solana-testnet-client:
image: ${SOLANA_FIRESOL_IMAGE:-ghcr.io/streamingfast/firehose-solana}:${SOLANA_TESTNET_FIRESOL_VERSION:-v1.1.3}
sysctls:
# TCP Performance
@@ -91,19 +91,19 @@ services:
- prometheus-scrape.port=12344
- prometheus-scrape.path=/metrics
solana-testnet-agave:
solana-testnet:
image: nginx
expose:
- '80'
environment:
PROXY_HOST: solana-testnet-agave-client
PROXY_HOST: solana-testnet-client
RPC_PATH: ''
RPC_PORT: 8899
WS_PATH: ''
WS_PORT: 8899
restart: unless-stopped
depends_on:
- solana-testnet-agave-client
- solana-testnet-client
networks:
- chains
volumes:
@@ -112,15 +112,15 @@ services:
labels:
- prometheus-scrape.enabled=false
- traefik.enable=true
- traefik.http.middlewares.solana-testnet-agave-pruned-rocksdb-stripprefix.stripprefix.prefixes=/solana-testnet-agave
- traefik.http.middlewares.solana-testnet-agave-pruned-rocksdb-stripprefix.stripprefix.prefixes=/solana-testnet
- traefik.http.services.solana-testnet-agave-pruned-rocksdb.loadbalancer.server.port=80
- ${NO_SSL:-traefik.http.routers.solana-testnet-agave-pruned-rocksdb.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.solana-testnet-agave-pruned-rocksdb.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.solana-testnet-agave-pruned-rocksdb.rule=Host(`$DOMAIN`) && (Path(`/solana-testnet-agave`) || Path(`/solana-testnet-agave/`))}
- ${NO_SSL:+traefik.http.routers.solana-testnet-agave-pruned-rocksdb.rule=Path(`/solana-testnet-agave`) || Path(`/solana-testnet-agave/`)}
- ${NO_SSL:-traefik.http.routers.solana-testnet-agave-pruned-rocksdb.rule=Host(`$DOMAIN`) && (Path(`/solana-testnet`) || Path(`/solana-testnet/`))}
- ${NO_SSL:+traefik.http.routers.solana-testnet-agave-pruned-rocksdb.rule=Path(`/solana-testnet`) || Path(`/solana-testnet/`)}
- traefik.http.routers.solana-testnet-agave-pruned-rocksdb.middlewares=solana-testnet-agave-pruned-rocksdb-stripprefix, ipallowlist
solana-testnet-agave-firehose:
solana-testnet-firehose:
image: ${SOLANA_FIRESOL_IMAGE:-ghcr.io/streamingfast/firehose-solana}:${SOLANA_TESTNET_FIRESOL_VERSION:-v1.1.3}
expose:
- 10015
@@ -132,10 +132,10 @@ services:
- --firehose-rate-limit-bucket-fill-rate=${SOLANA_TESTNET_FIREHOSE_RATE_LIMIT_BUCKET_FILL_RATE:-1s}
- --firehose-rate-limit-bucket-size=${SOLANA_TESTNET_FIREHOSE_RATE_LIMIT_BUCKET_SIZE:-200}
- --log-to-file=false
- --relayer-source=solana-testnet-agave-client:10010
- --relayer-source=solana-testnet-client:10010
restart: unless-stopped
depends_on:
- solana-testnet-agave
- solana-testnet
networks:
- chains
volumes:
@@ -149,23 +149,23 @@ services:
- traefik.http.services.solana-testnet-agave-pruned-rocksdb-firehose.loadbalancer.server.port=10015
- traefik.http.routers.solana-testnet-agave-pruned-rocksdb-firehose.entrypoints=grpc
- ${NO_SSL:-traefik.http.routers.solana-testnet-agave-pruned-rocksdb-firehose.tls.certresolver=myresolver}
- traefik.http.routers.solana-testnet-agave-pruned-rocksdb-firehose.rule=Host(`solana-testnet-agave-firehose.${DOMAIN}`)
- traefik.http.routers.solana-testnet-agave-pruned-rocksdb-firehose.rule=Host(`solana-testnet-firehose.${DOMAIN}`)
- traefik.http.routers.solana-testnet-agave-pruned-rocksdb-firehose.middlewares=ipallowlist
solana-testnet-agave-events:
solana-testnet-events:
image: ${SOLANA_FIRESOL_IMAGE:-ghcr.io/streamingfast/firehose-solana}:${SOLANA_TESTNET_FIRESOL_VERSION:-v1.1.3}
expose:
- 10016
entrypoint: [sh, -c, exec firesol --config-file="" --log-to-file=false start substreams-tier1 substreams-tier2 $@, _]
command:
- --common-live-blocks-addr=solana-testnet-agave-firehose:10014
- --common-live-blocks-addr=solana-testnet-firehose:10014
- --log-to-file=false
- --substreams-block-execution-timeout=${SOLANA_TESTNET_SUBSTREAMS_BLOCK_EXECUTION_TIMEOUT:-3m0s}
- --substreams-rpc-endpoints=${SOLANA_TESTNET_EXECUTION_ARCHIVE_RPC}
- --substreams-tier1-max-subrequests=${SOLANA_TESTNET_SUBSTREAMS_TIER1_MAX_SUBREQUESTS:-4}
restart: unless-stopped
depends_on:
- solana-testnet-agave
- solana-testnet
networks:
- chains
volumes:
@@ -178,7 +178,7 @@ services:
- traefik.http.services.solana-testnet-agave-pruned-rocksdb-events.loadbalancer.server.port=10016
- traefik.http.routers.solana-testnet-agave-pruned-rocksdb-events.entrypoints=grpc
- ${NO_SSL:-traefik.http.routers.solana-testnet-agave-pruned-rocksdb-events.tls.certresolver=myresolver}
- traefik.http.routers.solana-testnet-agave-pruned-rocksdb-events.rule=Host(`solana-testnet-agave-events.${DOMAIN}`)
- traefik.http.routers.solana-testnet-agave-pruned-rocksdb-events.rule=Host(`solana-testnet-events.${DOMAIN}`)
- traefik.http.routers.solana-testnet-agave-pruned-rocksdb-events.middlewares=ipallowlist
volumes: