Overview
SBproxy ships as a single static binary with no external runtime dependencies. Deploy it anywhere you can run an executable: containers, VMs, bare metal, or orchestrated clusters.
Deployment Options
| Method | Best For |
|---|---|
| Docker / Docker Compose | Local development, single-host deployments, and stacks with Redis, Prometheus, and Grafana |
| Kubernetes | Production clusters with horizontal scaling and rolling updates |
| Bare Metal | Direct binary deployment with systemd service management |
Ports
| Port | Protocol | Purpose |
|---|---|---|
| 8080 | TCP | HTTP listener (also serves /metrics for Prometheus and /live, /ready for health) |
| 8443 | TCP | HTTPS listener |
Health Checks
SBproxy exposes health endpoints for orchestrators and load balancers:
/health- basic health status/ready- readiness probe (config loaded, listeners bound)/live- liveness probe
Configuration
SBproxy reads its config from sb.yml (or a directory of YAML files). Mount or copy your config to the expected path:
- Docker: Mount as a volume at
/etc/sbproxy/sb.yml - Kubernetes: Use a ConfigMap mounted at
/etc/sbproxy/ - Bare metal: Pass the path with
sbproxy serve -c /path/to/sb.yml
Environment Variables
All CLI flags can be set via environment variables with the SB_ prefix. Useful for container deployments where command-line flags are less convenient:
SB_LOG_LEVEL=info
SB_CONFIG_FILE=/etc/sbproxy/sb.yml
SB_GRACE_TIME=30s