Basic deployment
Deploy MinIO Sidekick to distribute traffic across multiple backend servers within a single site.
Single backend group
Start Sidekick with a health check path and list of backend servers:
sidekick --health-path=/ready http://server1:8000 http://server2:8000 http://server3:8000 http://server4:8000
Sidekick listens on port 8080 by default and forwards requests to healthy backends.
Configure a different listen port using --address:
sidekick --health-path=/ready --address :9000 http://server1:8000 http://server2:8000
Ellipses expansion
Use ellipses syntax to specify ranges of backend servers:
sidekick --health-path=/minio/health/ready http://minio{1...4}:9000
This expands to four backends: http://minio1:9000, http://minio2:9000, http://minio3:9000, and http://minio4:9000.
The syntax supports any numeric range with automatic zero-padding.
DNS round-robin mode
For load balancer configurations with DNS round-robin, enable --rr-dns-mode to treat a single hostname as multiple backends:
sidekick --health-path=/ready --rr-dns-mode http://sidekick.example.com:8000
Sidekick performs a DNS lookup on the hostname, creates a separate backend for each resolved IP address, and distributes traffic across all IPs. The DNS cache refreshes automatically at the configured TTL interval.
Client access
Point client applications to the load balancer address instead of directly to backend servers.
Clients send requests to http://localhost:8080 (or the configured address), and the load balancer forwards requests to healthy backends transparently.
Sidekick adds headers to forwarded requests including X-Forwarded-Host, X-Real-IP, and X-Forwarded-For.
Backend applications can use these headers to identify the original client.