From e6b0f8c3e39bc2b7565a88e0ba3695abeefc0b4a Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Fri, 10 Nov 2023 08:35:31 +0100 Subject: Document Traefik PathPrefix (#5845) --- Docker/README.md | 20 ++++++++++++++++++++ Docker/freshrss/docker-compose-proxy.yml | 11 +++++++---- 2 files changed, 27 insertions(+), 4 deletions(-) (limited to 'Docker') diff --git a/Docker/README.md b/Docker/README.md index ea0d542cd..5afb02a59 100644 --- a/Docker/README.md +++ b/Docker/README.md @@ -419,6 +419,26 @@ SERVER_DNS=freshrss.example.net ### Use [Træfik](https://traefik.io/traefik/) reverse proxy +#### Option 1: server FreshRSS as a sub-domain + +Use [`Host()` rule](https://doc.traefik.io/traefik/routing/routers/#rule), like: + +```yml +- traefik.http.routers.freshrss.rule=Host(`freshrss.example.net`) +``` + +#### Option 2: serve FreshRSS as a sub-path + +Use [`PathPrefix()` rules](https://doc.traefik.io/traefik/routing/routers/#rule) and [`StripPrefix` middleware](https://doc.traefik.io/traefik/middlewares/http/stripprefix/#stripprefix), like: + +```yml +- traefik.http.middlewares.freshrssM3.stripprefix.prefixes=/freshrss +- traefik.http.routers.freshrss.middlewares=freshrssM3 +- traefik.http.routers.freshrss.rule=PathPrefix(`/freshrss`) +``` + +#### Full example + Here is the recommended configuration using automatic [Let’s Encrypt](https://letsencrypt.org/) HTTPS certificates and with a redirection from HTTP to HTTPS. See [`docker-compose-proxy.yml`](./freshrss/docker-compose-proxy.yml) diff --git a/Docker/freshrss/docker-compose-proxy.yml b/Docker/freshrss/docker-compose-proxy.yml index 9b4846bce..b261d7c77 100644 --- a/Docker/freshrss/docker-compose-proxy.yml +++ b/Docker/freshrss/docker-compose-proxy.yml @@ -16,8 +16,6 @@ services: ports: - 80:80 - 443:443 - networks: - - network volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - traefik-tmp:/tmp @@ -53,7 +51,12 @@ services: - traefik.http.middlewares.freshrssM2.headers.referrerPolicy=no-referrer-when-downgrade - traefik.http.middlewares.freshrssM2.headers.stsSeconds=31536000 - traefik.http.routers.freshrss.entryPoints=https - - traefik.http.routers.freshrss.middlewares=freshrssM1,freshrssM2 - - traefik.http.routers.freshrss.rule=Host(`${SERVER_DNS}`) - traefik.http.routers.freshrss.tls.certResolver=letsEncrypt - traefik.http.routers.freshrss.tls=true + ## Option 1: server FreshRSS as sub-domain + - traefik.http.routers.freshrss.middlewares=freshrssM1,freshrssM2 + - traefik.http.routers.freshrss.rule=Host(`${SERVER_DNS}`) + ## Option 2: serve FreshRSS as sub-path + # - traefik.http.middlewares.freshrssM3.stripprefix.prefixes=/freshrss + # - traefik.http.routers.freshrss.middlewares=freshrssM1,freshrssM2,freshrssM3 + # - traefik.http.routers.freshrss.rule=PathPrefix(`/freshrss`) -- cgit v1.2.3