version: '3.1' services: dshackle: image: drpcorg/dshackle:0.62.0 restart: unless-stopped volumes: - ./main_configs:/etc/dshackle expose: - 8080 - 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`)" - "traefik.http.middlewares.gwallowlist.ipwhitelist.sourcerange=$GW_ALLOW_LIST" - "traefik.http.routers.dshackle.middlewares=gwallowlist" 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