2021-03-02 16:38:44 +00:00
|
|
|
# Traefik
|
2020-06-17 06:23:01 +00:00
|
|
|
|
2020-10-27 09:46:50 +00:00
|
|
|
[![Build Status](https://drone.autonomic.zone/api/badges/coop-cloud/traefik/status.svg)](https://drone.autonomic.zone/coop-cloud/traefik)
|
2020-09-25 11:38:22 +00:00
|
|
|
|
2020-06-17 06:23:01 +00:00
|
|
|
> https://docs.traefik.io
|
2021-03-02 16:38:44 +00:00
|
|
|
|
|
|
|
<!-- metadata -->
|
|
|
|
* **Category**: Utilities
|
|
|
|
* **Status**: ?
|
2021-11-23 10:19:06 +00:00
|
|
|
* **Image**: [`traefik`](https://hub.docker.com/_/traefik), 4, upstream
|
2021-03-02 16:38:44 +00:00
|
|
|
* **Healthcheck**: Yes
|
|
|
|
* **Backups**: No
|
|
|
|
* **Email**: N/A
|
2021-11-23 10:19:06 +00:00
|
|
|
* **Tests**: 2
|
2021-03-02 16:38:44 +00:00
|
|
|
* **SSO**: ? (Keycloak)
|
|
|
|
<!-- endmetadata -->
|
|
|
|
|
|
|
|
## Basic usage
|
|
|
|
|
|
|
|
1. Set up Docker Swarm and [`abra`]
|
|
|
|
2. `abra app new traefik`
|
2023-01-20 00:02:28 +00:00
|
|
|
3. `abra app config YOURAPPDOMAIN` - be sure to change `DOMAIN` to something that resolves to
|
2021-03-02 16:38:44 +00:00
|
|
|
your Docker swarm box
|
2022-10-13 16:51:46 +00:00
|
|
|
4. `abra app deploy YOURAPPDOMAIN`
|
2021-03-02 16:38:44 +00:00
|
|
|
|
2023-03-07 01:57:59 +00:00
|
|
|
## Configuring wildcard SSL using DNS
|
|
|
|
|
|
|
|
Automatic certificate generation will Just Work™ for most recipes which use a fixed
|
|
|
|
number of subdomains. For some recipes which need to work across arbitrary
|
|
|
|
subdomains, like
|
|
|
|
[`federatedwiki`](https://git.coopcloud.tech/coop-cloud/federatedwiki/) and
|
|
|
|
[`go-ssb-room`](https://git.coopcloud.tech/coop-cloud/federatedwiki/), you'll
|
|
|
|
need to give Traefik access to your DNS provider so that it can carry out
|
|
|
|
Letsencrypt DNS challenges.
|
|
|
|
|
|
|
|
1. Use Gandi or OVH for DNS 🤡 (support for other providers can be easily added,
|
|
|
|
see [the `lego` docs](https://go-acme.github.io/lego/dns/#dns-providers).
|
|
|
|
2. Run `abra app config YOURAPPDOMAIN`
|
|
|
|
3. Uncomment e.g. `ENABLE_GANDI` and the related `SECRET_.._VERSION` line, e.g.
|
|
|
|
`SECRET_GANDIV5_API_KEY_VERSION`
|
|
|
|
4. Generate an API key for your provider
|
|
|
|
5. Run `abra app secret insert YOURAPPDOMAIN SECRETNAME v1 SECRETVALUE`, where
|
|
|
|
`SECRETNAME` is from the compose file (e.g. `compose.gandi.yml`) e.g.
|
|
|
|
`gandiv5_api_key` and `SECRETVALUE` is the API key.
|
|
|
|
6. Redeploy Traefik, using e.g. `abra app deploy YOURAPPDOMAIN -f`
|
|
|
|
|
2021-03-02 16:38:44 +00:00
|
|
|
[`abra`]: https://git.autonomic.zone/autonomic-cooperative/abra
|