Blame

312d31 theophile 2025-12-31 16:18:45
erreur, j'ai mis en récursif
1
# Traefik
2
60a400 theophile 2026-03-19 20:04:30
tranduction et ajout d'info
3
**traefik** est notre reverse-proxy et émetteur de certificats Let's Encrypt.
312d31 theophile 2025-12-31 16:18:45
erreur, j'ai mis en récursif
4
60a400 theophile 2026-03-19 20:04:30
tranduction et ajout d'info
5
## Etiquettes (`labels`)
6
7
Pour ajouter la gestion traefik à un container, il nous faut:
8
9
- créer un réseau pour le service
10
- utiliser `expose` à la place de `ports` pour les ports ouverts du container.
11
- on ajouter `labels` qui lie le réseau docker,
12
13
```yaml
14
networks:
15
- service
16
expose:
17
- 3001
18
labels:
19
- "traefik.enable=true" # Enable reverse-proxy for this service
20
- "traefik.docker.network=service" # The external docker network
21
- "traefik.http.routers.service.rule=Host(`service.happyngreen.fr`)" # The domain name.
22
- "traefik.http.routers.service.entrypoints=web"
23
- "traefik.http.routers.service.middlewares=redirect-to-https@docker"
24
- "traefik.http.routers.service-secure.rule=Host(`service.happyngreen.fr`)"
25
- "traefik.http.routers.service-secure.entrypoints=web-secure"
26
- "traefik.http.routers.service-secure.tls=true"
27
- "traefik.http.routers.service-secure.tls.certresolver=le" # The Let's Encrypt certificat type
28
- "traefik.http.routers.service-secure.service=service_name-secure"
29
- "traefik.http.services.service-secure.loadbalancer.server.port=3001" # The exposed port.
30
31
```
32
33
> [!IMPORTANT]
34
> un router **traefik** peut avoir n'importe quel nom, y compris celui de service ou du réseau. `uptime-kuma`, `docker-uptime-kuma`, etc.
35
36
Une fois que votre `docker-compose.yml` est bon (volumes, port, network, container_name, etc), lancer le pour créer le network.
37
Alternativement, vous pouvez utiliser:
38
39
```bash
40
docker network create service_name
41
```
42
43
## Réseau → Traefik
44
45
Pour chaque services docker compose, nous crééons un **réseau** (nommé d'après le service qui l'utilise) et nous l'ajoutons au `docker-compose.yml` de **traefik**, à deux endroits précis:
312d31 theophile 2025-12-31 16:18:45
erreur, j'ai mis en récursif
46
47
```yaml
48
networks:
60a400 theophile 2026-03-19 20:04:30
tranduction et ajout d'info
49
# → 1er endroit
312d31 theophile 2025-12-31 16:18:45
erreur, j'ai mis en récursif
50
traefik:
60a400 theophile 2026-03-19 20:04:30
tranduction et ajout d'info
51
service:
52
name: service # ← le nom du réseau
53
external: true # externe car il est créer quand on lance le container
312d31 theophile 2025-12-31 16:18:45
erreur, j'ai mis en récursif
54
# etc...
55
56
services:
57
traefik:
58
# (...)
59
networks:
60a400 theophile 2026-03-19 20:04:30
tranduction et ajout d'info
60
# → 2eme endroit
312d31 theophile 2025-12-31 16:18:45
erreur, j'ai mis en récursif
61
traefik:
60a400 theophile 2026-03-19 20:04:30
tranduction et ajout d'info
62
service: # ← le nom du réseau
312d31 theophile 2025-12-31 16:18:45
erreur, j'ai mis en récursif
63
# etc...
64
```
65
60a400 theophile 2026-03-19 20:04:30
tranduction et ajout d'info
66
Ensuit, lancer la commandes suivantes pour relancer le container avec les nouveaux réseaus docker.
312d31 theophile 2025-12-31 16:18:45
erreur, j'ai mis en récursif
67
60a400 theophile 2026-03-19 20:04:30
tranduction et ajout d'info
68
```bash
69
docker compose up -d
312d31 theophile 2025-12-31 16:18:45
erreur, j'ai mis en récursif
70
```
71
60a400 theophile 2026-03-19 20:04:30
tranduction et ajout d'info
72
## Troubleshooting
312d31 theophile 2025-12-31 16:18:45
erreur, j'ai mis en récursif
73
60a400 theophile 2026-03-19 20:04:30
tranduction et ajout d'info
74
### Retirer un certificat `le-stg`
312d31 theophile 2025-12-31 16:18:45
erreur, j'ai mis en récursif
75
60a400 theophile 2026-03-19 20:04:30
tranduction et ajout d'info
76
Les certificats Let's Encrypt sont stocker dans `$CONFIG/cert/acme.json`. Vous pouvez retirer les retirer en supprimant les lignes concerné dans la section `le-stg`. Il faut ensuite redémarrer traefik → `docker compose restart`.