From 227591cfb5f3e1f54221ef04d7d0d4fd1a54b99a Mon Sep 17 00:00:00 2001 From: Mahmoud Elewa Date: Sun, 31 May 2020 07:13:13 +0000 Subject: [PATCH] update documentation for Traefik v2.2 --- DOCUMENTATION/content/documentation/index.md | 47 ++++++++++---------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 808208d0..25406019 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -1425,30 +1425,13 @@ GRAYLOG_SHA256_PASSWORD=b1cb6e31e172577918c9e7806c572b5ed8477d3f57aa737bee4b5b1d ## Use Traefik -To use Traefik you need to do some changes in `traefik/trafik.toml` and `docker-compose.yml`. +To use Traefik you need to do some changes in `.env` and `docker-compose.yml`. -1 - Open `traefik.toml` and change the `e-mail` property in `acme` section. +1 - Open `.env` and change `ACME_DOMAIN` to your domain and `ACME_EMAIL` to your email. -2 - Change your domain in `acme.domains`. For example: `main = "example.org"` +2 - You need to change the `docker-compose.yml` file to match the Traefik needs. If you want to use Traefik, you must not expose the ports of each container to the internet, but specify some labels. -2.1 - If you have subdomains, you must add them to `sans` property in `acme.domains` section. - -```bash -[[acme.domais]] - main = "example.org" - sans = ["monitor.example.org", "pma.example.org"] -``` - -3 - If you need to add basic authentication (https://docs.traefik.io/configuration/entrypoints/#basic-authentication), you just need to add the following text after `[entryPoints.https.tls]`: - -```bash -[entryPoints.https.auth.basic] - users = ["user:password"] -``` - -4 - You need to change the `docker-compose.yml` file to match the Traefik needs. If you want to use Traefik, you must not expose the ports of each container to the internet, but specify some labels. - -4.1 For example, let's try with NGINX. You must have: +2.1 For example, let's try with NGINX. You must have: ```bash nginx: @@ -1468,9 +1451,25 @@ nginx: - frontend - backend labels: - - traefik.backend=nginx - - traefik.frontend.rule=Host:example.org - - traefik.port=80 + - "traefik.enable=true" + - "traefik.http.services.nginx.loadbalancer.server.port=80" + # https router + - "traefik.http.routers.https.rule=Host(`${ACME_DOMAIN}`, `www.${ACME_DOMAIN}`)" + - "traefik.http.routers.https.entrypoints=https" + - "traefik.http.routers.https.middlewares=www-redirectregex" + - "traefik.http.routers.https.service=nginx" + - "traefik.http.routers.https.tls.certresolver=letsencrypt" + # http router + - "traefik.http.routers.http.rule=Host(`${ACME_DOMAIN}`, `www.${ACME_DOMAIN}`)" + - "traefik.http.routers.http.entrypoints=http" + - "traefik.http.routers.http.middlewares=http-redirectscheme" + - "traefik.http.routers.http.service=nginx" + # middlewares + - "traefik.http.middlewares.www-redirectregex.redirectregex.permanent=true" + - "traefik.http.middlewares.www-redirectregex.redirectregex.regex=^https://www.(.*)" + - "traefik.http.middlewares.www-redirectregex.redirectregex.replacement=https://$$1" + - "traefik.http.middlewares.http-redirectscheme.redirectscheme.permanent=true" + - "traefik.http.middlewares.http-redirectscheme.redirectscheme.scheme=https" ``` instead of