Skip to main content
All server settings can be configured via environment variables. Environment variables are overridden by the server: block in config.yaml, which is in turn overridden by CLI flags. See Config Reference for the full priority order.

Variable reference

VariableDefaultDescription
PROXY_HOPPER_HOST0.0.0.0Bind address for the proxy server
PROXY_HOPPER_PORT8080Proxy server listen port
PROXY_HOPPER_ADMIN_PORT8081Admin API listen port (when admin is enabled)
PROXY_HOPPER_LOG_LEVELINFOLog verbosity — TRACE, DEBUG, INFO, WARNING, or ERROR
PROXY_HOPPER_LOG_FORMATtextLog format — text or json. Use json for Docker/Kubernetes
PROXY_HOPPER_LOG_FILEstderrWrite logs to this file path instead of stderr
PROXY_HOPPER_BACKENDmemoryIP pool backend — memory or redis
PROXY_HOPPER_REDIS_URLredis://localhost:6379/0Redis connection URL (used when BACKEND=redis)
PROXY_HOPPER_METRICSfalseSet to true to enable the Prometheus /metrics endpoint
PROXY_HOPPER_METRICS_PORT9090Port for the metrics server
PROXY_HOPPER_PROBEtrueSet to false to disable the background IP health prober
PROXY_HOPPER_PROBE_INTERVAL60Seconds between background probe rounds
PROXY_HOPPER_PROBE_TIMEOUT10Per-IP probe HTTP timeout in seconds
PROXY_HOPPER_PROBE_URLShttps://1.1.1.1,https://www.google.comComma-separated list of URLs to probe through each IP

Docker Compose example

services:
  proxy-hopper:
    image: ghcr.io/cams-data/proxy-hopper:latest-redis
    environment:
      PROXY_HOPPER_BACKEND: redis
      PROXY_HOPPER_REDIS_URL: redis://redis:6379/0
      PROXY_HOPPER_LOG_FORMAT: json
      PROXY_HOPPER_LOG_LEVEL: INFO
      PROXY_HOPPER_METRICS: "true"
      PROXY_HOPPER_METRICS_PORT: "9090"

Kubernetes example

env:
  - name: PROXY_HOPPER_BACKEND
    value: redis
  - name: PROXY_HOPPER_REDIS_URL
    value: redis://redis:6379/0
  - name: PROXY_HOPPER_LOG_FORMAT
    value: json
  - name: PROXY_HOPPER_METRICS
    value: "true"
Proxy Hopper ignores the Kubernetes-injected PROXY_HOPPER_PORT service-link variable by default (controlled via the enableServiceLinks: false Helm value). This prevents the injected variable from overriding the server.port field in your config.