# Traefik [![Build Status](https://drone.autonomic.zone/api/badges/coop-cloud/traefik/status.svg)](https://drone.autonomic.zone/coop-cloud/traefik) > https://docs.traefik.io * **Category**: Utilities * **Status**: ? * **Image**: [`traefik`](https://hub.docker.com/_/traefik), 4, upstream * **Healthcheck**: Yes * **Backups**: No * **Email**: N/A * **Tests**: 2 * **SSO**: ? (Keycloak) ## Basic usage 1. Set up Docker Swarm and [`abra`] 2. `abra app new traefik` 3. `abra app config YOURAPPDOMAIN` - be sure to change `DOMAIN` to something that resolves to your Docker swarm box 4. `abra app deploy YOURAPPDOMAIN` ## 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` [`abra`]: https://git.autonomic.zone/autonomic-cooperative/abra