mirror of
https://github.com/bluepuma77/traefik-best-practice.git
synced 2025-12-21 13:23:10 +01:00
remove Swarm, only use regular Docker
This commit is contained in:
@@ -1,5 +1,3 @@
|
|||||||
version: '3.9'
|
|
||||||
|
|
||||||
configs:
|
configs:
|
||||||
traefik-dynamic.yml:
|
traefik-dynamic.yml:
|
||||||
file: ./traefik-dynamic.yml
|
file: ./traefik-dynamic.yml
|
||||||
@@ -10,13 +8,11 @@ volumes:
|
|||||||
networks:
|
networks:
|
||||||
proxy:
|
proxy:
|
||||||
name: proxy
|
name: proxy
|
||||||
driver: overlay
|
|
||||||
attachable: true
|
attachable: true
|
||||||
|
|
||||||
services:
|
services:
|
||||||
traefik:
|
traefik:
|
||||||
image: traefik:v2.10
|
image: traefik:v3.3
|
||||||
hostname: '{{.Node.Hostname}}'
|
|
||||||
configs:
|
configs:
|
||||||
- traefik-dynamic.yml
|
- traefik-dynamic.yml
|
||||||
volumes:
|
volumes:
|
||||||
@@ -35,7 +31,6 @@ services:
|
|||||||
- proxy
|
- proxy
|
||||||
command:
|
command:
|
||||||
- --providers.docker=true
|
- --providers.docker=true
|
||||||
- --providers.docker.swarmMode=true
|
|
||||||
- --providers.docker.exposedByDefault=false
|
- --providers.docker.exposedByDefault=false
|
||||||
- --providers.docker.network=proxy
|
- --providers.docker.network=proxy
|
||||||
- --providers.file.filename=/traefik-dynamic.yml
|
- --providers.file.filename=/traefik-dynamic.yml
|
||||||
@@ -53,32 +48,19 @@ services:
|
|||||||
- --certificatesResolvers.myresolver.acme.email=mail.example.com
|
- --certificatesResolvers.myresolver.acme.email=mail.example.com
|
||||||
- --certificatesResolvers.myresolver.acme.storage=/certificates/acme.json
|
- --certificatesResolvers.myresolver.acme.storage=/certificates/acme.json
|
||||||
- --certificatesresolvers.myresolver.acme.tlschallenge=true
|
- --certificatesresolvers.myresolver.acme.tlschallenge=true
|
||||||
deploy:
|
labels:
|
||||||
mode: global
|
- traefik.enable=true
|
||||||
placement:
|
- traefik.http.routers.api.entrypoints=websecure
|
||||||
constraints:
|
- traefik.http.routers.api.rule=Host(`traefik.example.com`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))
|
||||||
- node.role==manager
|
- traefik.http.routers.api.service=api@internal
|
||||||
labels:
|
- traefik.http.routers.api.middlewares=myauth
|
||||||
- traefik.enable=true
|
- 'traefik.http.middlewares.myauth.basicauth.users=test:$$apr1$$H6uskkkW$$IgXLP6ewTrSuBkTrqE8wj/'
|
||||||
- traefik.http.routers.api.entrypoints=websecure
|
|
||||||
- traefik.http.routers.api.rule=Host(`traefik.example.com`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))
|
|
||||||
- traefik.http.routers.api.service=api@internal
|
|
||||||
- traefik.http.routers.api.middlewares=auth
|
|
||||||
- 'traefik.http.middlewares.auth.basicauth.users=test:$$apr1$$H6uskkkW$$IgXLP6ewTrSuBkTrqE8wj/'
|
|
||||||
- traefik.http.services.dummy-svc.loadbalancer.server.port=9999
|
|
||||||
|
|
||||||
whoami:
|
whoami:
|
||||||
image: traefik/whoami:v1.10
|
image: traefik/whoami:v1.10
|
||||||
hostname: '{{.Node.Hostname}}'
|
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
deploy:
|
labels:
|
||||||
mode: global
|
- traefik.enable=true
|
||||||
#placement:
|
- traefik.http.routers.whoami.rule=Host(`whoami.example.com`)
|
||||||
# constraints:
|
- traefik.http.services.whoami.loadbalancer.server.port=80
|
||||||
# - node.role==manager
|
|
||||||
labels:
|
|
||||||
- traefik.enable=true
|
|
||||||
- traefik.http.routers.whoami.entrypoints=websecure
|
|
||||||
- traefik.http.routers.whoami.rule=Host(`whoami.example.com`)
|
|
||||||
- traefik.http.services.whoami.loadbalancer.server.port=80
|
|
||||||
|
|||||||
Reference in New Issue
Block a user