diff --git a/docs/deploying/reverse-proxy-traefik.md b/docs/deploying/reverse-proxy-traefik.md index ab853e97..69c7c85d 100644 --- a/docs/deploying/reverse-proxy-traefik.md +++ b/docs/deploying/reverse-proxy-traefik.md @@ -4,16 +4,61 @@ ## Installation -_This section is incomplete. Please consider contributing to it._ +Install Traefik via your preferred method. You can read the official [docker quickstart guide](https://doc.traefik.io/traefik/getting-started/docker/) or the [in-depth walkthrough](https://doc.traefik.io/traefik/setup/docker/) ## Configuration +You only have to do any one of these methods. -_This section is incomplete. Please consider contributing to it._ +Be sure to change the `your.server.name` to your actual tuwunel domain. and the certresolver should be changed to whatever you named it in your traefik config. +### Labels +To use labels with traefik you need to configure a [docker provider](https://doc.traefik.io/traefik/reference/install-configuration/providers/docker/). + +Then add the labels in your tuwunel's docker compose file. +```yaml +labels: + - "traefik.enable=true" + - "traefik.http.routers.tuwunel.entrypoints=web" + - "traefik.http.routers.tuwunel.rule=Host(`your.server.name`)" + - "traefik.http.routers.tuwunel.middlewares=https-redirect@file" + - "traefik.http.routers.tuwunel-secure.entrypoints=websecure" + - "traefik.http.routers.tuwunel-secure.rule=Host(`your.server.name`)" + - "traefik.http.routers.tuwunel-secure.tls=true" + - "traefik.http.routers.tuwunel-secure.service=tuwunel" + - "traefik.http.services.tuwunel.loadbalancer.server.port=6167" + - "traefik.http.routers.tuwunel-secure.tls.certresolver=letsencrypt" + - "traefik.docker.network=proxy" +``` +### Config File +To use the config file you need to configure a [file provider](https://doc.traefik.io/traefik/reference/install-configuration/providers/others/file/). + +Then add this into your config file. +```yaml +http: + routers: + tuwunel: + entryPoints: + - "web" + - "websecure" + rule: "Host(`your.server.name`)" + middlewares: + - https-redirect + tls: + certResolver: "letsencrypt" + service: tuwunel + services: + tuwunel: + loadBalancer: + servers: + # this url should point to your tuwunel installation. + # this should work if your tuwunel container is named tuwunel and is in the same network as traefik. + - url: "http://tuwunel:6167" + passHostHeader: true +``` > [!IMPORTANT] > > [Encoded Character Filtering](https://doc.traefik.io/traefik/security/request-path/#encoded-character-filtering) -> options must be set to `true`. +> options must be set to `true`. This only applies to traefik version 3.6.4 to 3.6.6 and 2.11.32 to 2.11.34 ## Verification