No description
| docs | ||
| Godeps | ||
| middlewares | ||
| providerTemplates | ||
| script | ||
| static | ||
| templates | ||
| tests | ||
| .gitignore | ||
| adapters.go | ||
| build.Dockerfile | ||
| circle.yml | ||
| configuration.go | ||
| consul.go | ||
| docker.go | ||
| Dockerfile | ||
| file.go | ||
| file_test.go | ||
| generate.go | ||
| LICENSE.md | ||
| Makefile | ||
| marathon.go | ||
| provider.go | ||
| README.md | ||
| traefik.go | ||
| traefik.sample.toml | ||
| web.go | ||
Træfɪk is a modern HTTP reverse proxy and load balancer made to deploy microservices with ease. It supports several backends (Docker 🐳, Mesos/Marathon, Consul, Etcd, Rest API, file...) to manage its configuration automatically and dynamically.
Features
- No dependency hell, single binary made with go
- Simple json Rest API
- Simple TOML file configuration
- Multiple backends supported: Docker, Mesos/Marathon, Consul, Etcd, and more to come
- Watchers for backends, can listen change in backends to apply a new configuration automatically
- Hot-reloading of configuration. No need to restart the process
- Graceful shutdown http connections during hot-reloads
- Circuit breakers on backends
- Round Robin, rebalancer load-balancers
- Rest Metrics
- Tiny docker image included
- SSL backends support
- SSL frontend support
- WebUI
Plumbing
- Oxy: an awsome proxy library made by Mailgun guys
- Gorilla mux: famous request router
- Negroni: web middlewares made simple
- Graceful: graceful shutdown of http.Handler servers
Quick start
- The simple way: grab the latest binary from the releases page and just run it with the sample configuration file:
./traefik traefik.toml
- Use the tiny Docker image:
docker run -d -p 8080:8080 -p 80:80 -v $PWD/traefik.toml:/traefik.toml emilevauge/traefik
- From sources:
git clone https://github.com/EmileVauge/traefik
Documentation
You can find the complete documentation here.