lightweight nginx based load balancer self using service discovery provided by registrator.
Switch branches/tags
Nothing to show
Clone or download
Latest commit 9213dbf Apr 26, 2015
Failed to load latest commit information.
proxy symlink readme Apr 10, 2015
registry haproxy Apr 10, 2015
.dockerignore haproxy Apr 10, 2015
.gitignore haproxy Apr 10, 2015
LICENSE haproxy Apr 10, 2015 Update readme for typo Apr 26, 2015
Vagrantfile haproxy Apr 10, 2015
clean_registry haproxy Apr 10, 2015
factorish.rb haproxy Apr 10, 2015
factorish.yml nginx ftw Apr 10, 2015
user-data.erb haproxy Apr 10, 2015

Factorish Proxy


Factorish Proxy is a lightweight ( < 30mb ) container based on gliderlabs/alpine with nginx running as a http load balancer. It uses data collected from gliderlabs/registrator to create load-balancing pools for the specified services by writing out an nginx.conf using the confd templating engine.

It's very simple to use, you simply pass in the etcd endpoint to connect to and list the services that you which to subscribe to and the port you want to proxy for it.


You're running a docker registry backed by s3 and wish to load balance them. You're aready running registrator and your etcd services look like this:

$ etcdctl ls /services  --recursive

We simply need to tell factorish-proxy the etcd endpoint to connect to and provide it the name of the service ( in this case registry ) and the port to load balance it on via an environment variable -e registry=8080.

$ docker run -d -p 8080:8080 -e registry=8080 \
  --name factorish-proxy factorish/proxy

You can balance as many services as you want by simply adding more of these variables.


Paul Czarkowski (


Copyright 2014 Paul Czarkowski

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.