Files
ethereum-rpc-docker/drpc.yml
rob 53162f7ee0 drpc: mount ./dshackle_logs:/logs for the dshackle accessLog
Gateway request-splits pilot (earnings misattribution fix): the accessLog
stub in main_configs pointed at /logs which was never mounted. Host-side
dir lets the splits tailer aggregate per-caller response counts.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 12:15:55 +00:00

60 lines
2.0 KiB
YAML

services:
dshackle:
image: drpcorg/dshackle:0.79.10
restart: unless-stopped
volumes:
- ./main_configs:/etc/dshackle
# dshackle accessLog target (main_configs/dshackle.yaml accessLog.filename=/logs/...).
# Host-side dir so the splits tailer can aggregate gateway->region request shares
# (earnings misattribution fix, operator + claude-machine design 2026-07-09).
- ./dshackle_logs:/logs
expose:
- 8080
- 8081
- 25703
#ports:
# - "2449:2449"
environment:
DSHACKLE_LOG_LEVEL: ${DSHACKLE_LOG_LEVEL:-info}
labels:
- "prometheus-scrape.enabled=true"
- "prometheus-scrape.port=8081"
- "prometheus-scrape.job_name=drpc-dshackle"
- "prometheus-scrape.metrics_path=/metrics"
- "traefik.enable=true"
- "traefik.http.services.drpc.loadbalancer.server.scheme=h2c"
- "traefik.http.services.drpc.loadbalancer.server.port=2449"
- "traefik.http.routers.drpc.entrypoints=grpc"
- "traefik.http.routers.drpc.service=drpc"
- "traefik.http.routers.drpc.tls.certresolver=myresolver"
- "traefik.http.routers.drpc.rule=Host(`$GW_DOMAIN`)"
- "traefik.http.services.dshackle.loadbalancer.server.port=8080"
- "traefik.http.routers.dshackle.entrypoints=websecure"
- "traefik.http.routers.dshackle.service=dshackle"
- "traefik.http.routers.dshackle.tls.certresolver=myresolver"
- "traefik.http.routers.dshackle.rule=Host(`$GW_DOMAIN`)"
- "${GW_ALLOW_LIST:+traefik.http.middlewares.gwallowlist.ipallowlist.sourcerange=$GW_ALLOW_LIST}"
- "${GW_ALLOW_LIST:+traefik.http.routers.dshackle.middlewares=gwallowlist}"
extra_hosts:
- "host.docker.internal:host-gateway"
networks:
- chains
logging:
driver: journald
redis:
image: healthcheck/redis:alpine
restart: unless-stopped
command:
- "redis-server"
- "--maxmemory ${GW_REDIS_RAM}"
- "--maxmemory-policy allkeys-lru"
- '--save ""'
networks:
- chains