Skip to content
README.md 1.79 KiB
Newer Older
Pierre Ozoux's avatar
Pierre Ozoux committed
# HAProxy
HAProxy for IndieHosters
Pierre Ozoux's avatar
Pierre Ozoux committed

# Warning: still experimental, use at your own risk

## What is it?

This repository contains one of the most advanced and libre HAproxy for docker setup that we are aware of.
It ships with:
 - container discovery though docker API (like [smartstack](http://nerds.airbnb.com/smartstack-service-discovery-cloud/)) based on Env var `HOST` (Based on [docker-gen](https://github.com/jwilder/docker-gen))
 - [ocsp](https://en.wikipedia.org/wiki/Online_Certificate_Status_Protocol)
 - [letsencrypt](https://letsencrypt.org/)

Once you managed to make this running, each time you add a container with the environment variable `HOST` it will:
 - generate a valid certificate (if the dns is pointing correctly)
 - serves the OCSP response
 - serves your web container with https

## Prerequistes

 - docker
 - docker-compose

## Get started

```
git clone https://github.com/indiehosters/haproxy.git
cd haproxy
docker-compose up -d
```

The first time, you might need to run letsencrypt-watch in an interactive way to accept TOS and register your account.
Use the following to do so:
```
docker-compose run letsencrypt-watch
```

And profit!

```
docker run -e HOST=example.org nginx
```

## Contributing

If you have any issue (something not working, missing doc), please do report an issue here! Thanks

This system is used in production at [IndieHosters](https://indiehosters.net/) so it is maintained. If you use it, please tell us, and we'll be really happy to update this README!

You can help us by:
 - starring this project
 - sending us a thanks email
 - reporting bugs
 - writing documentation/blog on how you got up and running in 5mins
 - writing more documentation
 - sending us cake :) We loove cake!

## TODO

 - renewal :)
 - docker-swarm compatibility
 - other backend (etcd/consul...)