1
0

Upgraded and refactored Traefik (#585)

This commit is contained in:
Honza Pobořil
2022-06-02 16:35:42 +02:00
committed by GitHub
parent e87ef5d0b0
commit c176745bc3
15 changed files with 80 additions and 83 deletions

View File

@@ -1,17 +1,27 @@
# How to use docker-compose with Traefik
Traefik is a modern reverse proxy aimed towards applications running through container orchestrators.
Traefik is a modern reverse proxy aimed towards applications running through container orchestrators.
Some of the benefits of using Traefik over NGinx are:
* Real-time configuration changes - no need to reload the proxy
* Auto discovery and configuration of services through a vast amount of container orchestrators.
* Built-in official support for Let's Encrypt SSL with certificate auto-renewal
- Real-time configuration changes - no need to reload the proxy
- Auto discovery and configuration of services through a vast amount of container orchestrators.
- Built-in official support for Let's Encrypt SSL with certificate auto-renewal
- Supports path-based routing without need to [hard-code it in global config](../Production/nginx.tmpl).
## Traefik Specific Environment Variables
* `BTCPAYGEN_REVERSEPROXY` to `traefik`.
* `LETSENCRYPT_EMAIL`: Optional, The email Let's Encrypt will use to notify you about certificate expiration.
* `BTCPAYGEN_ADDITIONAL_FRAGMENTS`: In the case that you have an already deployed traefik container, you can use the fragment `traefik-labels` which will tag the btcpayserver service with the needed labels to be discovered.
- `BTCPAYGEN_REVERSEPROXY` to `traefik`.
- `LETSENCRYPT_EMAIL`: Optional, The email Let's Encrypt will use to notify you about certificate expiration.
- `BTCPAYGEN_ADDITIONAL_FRAGMENTS`: Add `traefik`
- `BTCPAY_ADDITIONAL_HOSTS`: Traefic can not accept list of hosts. Add additional hosts in a new file named e.g. `btcpayserver-traefic.custom.yml`:
```
version: "3"
services:
btcpayserver:
labels:
traefik.http.routers.btcpayserver2.rule: Host(`additional.example.com`)
traefik.http.routers.btcpayserver3.rule: Host(`another-additional.example.com`)
```
![Architecture](Production.png)
![Architecture](Production.png)