Docker
Run the Proxer server or client from the OCI image.
The image is published to Docker Hub as tinyrack/proxer and to GHCR as ghcr.io/tinyrack-net/proxer.
Check the version:
docker run --rm tinyrack/proxer --versionRun a server
Section titled “Run a server”docker run --rm -p 8080:8080 \ -e PROXER_TOKEN="$PROXER_TOKEN" \ tinyrack/proxer \ server --listen 0.0.0.0:8080 --domain proxy.example.comThe server does not need a volume. Tunnel registrations are in memory and are recreated when clients reconnect.
Use dev-token only for local demos. For anything exposed outside your machine, set PROXER_TOKEN from a secret store instead of putting a long-lived token in the command line.
Docker Compose
Section titled “Docker Compose”services: proxer: image: ghcr.io/tinyrack-net/proxer:latest command: - server - --listen - 0.0.0.0:8080 - --domain - proxy.example.com environment: PROXER_TOKEN: ${PROXER_TOKEN:?set PROXER_TOKEN} PROXER_TRUSTED_PROXIES: loopback,private ports: - "8080:8080" healthcheck: test: ["CMD", "proxer", "--version"] interval: 30s timeout: 5s retries: 3Client containers
Section titled “Client containers”proxer http <port> forwards to 127.0.0.1:<port> from inside the client process. In a container, that means the loopback interface inside that container.
On Linux, use host networking when the app is listening on the Docker host:
docker run --rm --network host \ -e PROXER_TOKEN="$PROXER_TOKEN" \ tinyrack/proxer \ http 3000 --server ws://127.0.0.1:8080 --subdomain demoOn Docker Desktop, host.docker.internal is not enough by itself because the client currently has no upstream host flag. Run the client on the host, or run it in the same container/network namespace as the app it should reach.
Kubernetes probes
Section titled “Kubernetes probes”Use the fixed health endpoints when your platform can probe HTTP paths:
/__proxer__/health/live/__proxer__/health/readyThe control endpoint is also fixed:
/__proxer__/controlDo not point probes at the control endpoint; it expects a WebSocket upgrade.
Environment variables
Section titled “Environment variables”The server can be configured with PROXER_ environment variables:
docker run --rm -p 8080:8080 \ -e PROXER_LISTEN=0.0.0.0:8080 \ -e PROXER_DOMAIN=proxy.example.com \ -e PROXER_TOKEN="$PROXER_TOKEN" \ -e PROXER_TRUSTED_PROXIES=loopback,private \ ghcr.io/tinyrack-net/proxer serverSet --trusted-proxy or PROXER_TRUSTED_PROXIES only for reverse proxies you control.