From 952be1ef919ea855ce57b6ed2107c04e3ff553a8 Mon Sep 17 00:00:00 2001 From: Emile Vauge Date: Wed, 6 Apr 2016 20:12:06 +0200 Subject: [PATCH] Add an official image for Traefik * Add an official image for Traefik * Changed documentation URL Signed-off-by: Emile Vauge --- traefik/README-short.txt | 1 + traefik/content.md | 65 +++++++++++++++++++++++++++++++++++++++ traefik/license.md | 1 + traefik/logo.png | Bin 0 -> 28895 bytes update.sh | 1 + 5 files changed, 68 insertions(+) create mode 100644 traefik/README-short.txt create mode 100644 traefik/content.md create mode 100644 traefik/license.md create mode 100644 traefik/logo.png mode change 100755 => 100644 update.sh diff --git a/traefik/README-short.txt b/traefik/README-short.txt new file mode 100644 index 000000000..1b04970ff --- /dev/null +++ b/traefik/README-short.txt @@ -0,0 +1 @@ +Træfɪk, a modern reverse proxy diff --git a/traefik/content.md b/traefik/content.md new file mode 100644 index 000000000..25c7aef81 --- /dev/null +++ b/traefik/content.md @@ -0,0 +1,65 @@ +%%LOGO%% + +[Træfɪk](https://github.com/containous/traefik) is a modern HTTP reverse proxy and load balancer made to deploy microservices with ease. It supports several backends ([Docker :whale:](https://www.docker.com/), [Swarm :whale::whale:](https://github.com/docker/swarm), [Mesos/Marathon](https://mesosphere.github.io/marathon/), [Consul](https://www.consul.io/), [Etcd](https://coreos.com/etcd/), [Zookeeper](https://zookeeper.apache.org), [BoltDB](https://github.com/boltdb/bolt), Rest API, file...) to manage its configuration automatically and dynamically. + +# Example usage + +Grab a [sample configuration file](https://raw.githubusercontent.com/containous/traefik/master/traefik.sample.toml) and rename it to `traefik.toml`. Enable `docker` provider and web UI: + +```toml +################################################################ +# Web configuration backend +################################################################ +[web] +address = ":8080" +################################################################ +# Docker configuration backend +################################################################ +[docker] +domain = "docker.local" +watch = true +``` + +Start Træfɪk: + +```bash +docker run -d -p 8080:8080 -p 80:80 \ +-v $PWD/traefik.toml:/etc/traefik/traefik.toml \ +-v /var/run/docker.sock:/var/run/docker.sock \ +traefik +``` + +Start a backend server, named `test`: + +```bash +docker run -d --name test emilevauge/whoami +``` + +And finally, you can access to your `whoami` server throught Træfɪk, on the domain name `{containerName}.{configuredDomain}`: + +```bash +curl --header 'Host: test.docker.local' 'http://localhost:80/' +Hostname: 117c5530934d +IP: 127.0.0.1 +IP: ::1 +IP: 172.17.0.3 +IP: fe80::42:acff:fe11:3 +GET / HTTP/1.1 +Host: 172.17.0.3:80 +User-Agent: curl/7.35.0 +Accept: */* +Accept-Encoding: gzip +X-Forwarded-For: 172.17.0.1 +X-Forwarded-Host: 172.17.0.3:80 +X-Forwarded-Proto: http +X-Forwarded-Server: f2e05c433120 + +``` + +The web UI [http://localhost:8080](http://localhost:8080) will give you an overview of the frontends/backends and also a health dashboard. + +![Web UI Providers](https://traefik.io/web.frontend.png) + +# Documentation + +You can find the complete documentation [here](https://docs.traefik.io). diff --git a/traefik/license.md b/traefik/license.md new file mode 100644 index 000000000..771cbe787 --- /dev/null +++ b/traefik/license.md @@ -0,0 +1 @@ +View [license information](https://github.com/containous/traefik/blob/master/LICENSE.md) for the software contained in this image. diff --git a/traefik/logo.png b/traefik/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..04a515bb0d9fb5204585a4e14e32ce1a21e4b8ec GIT binary patch literal 28895 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℘L!=I^QNVJPLS>|(1&Z7mZYvOKqhWq!jG!@4e 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 qR3j7`X=S_?9O