Skip to content

Commit fcc48b0

Browse files
committed
Migrate to traefik v2
1 parent f43ab69 commit fcc48b0

11 files changed

+120
-86
lines changed

ghost.dockerapp

+6-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ version: 0.1.0
44
# Name of the application
55
name: ghost
66
# A short description of the application
7-
description:
7+
description:
88
# Namespace to use when pushing to a registry. This is typically your Hub username.
99
namespace: dogvscat
1010
# List of application maintainers with name and email for each
@@ -37,8 +37,10 @@ services:
3737
deploy:
3838
replicas: 1
3939
labels:
40-
- traefik.port=2368
41-
- traefik.frontend.rule=Host:ghost.dogvs.cat
40+
traefik.http.routers.ghost.rule: Host(`ghost.dogvs.cat`)
41+
traefik.http.routers.ghost.entryPoints: websecure
42+
traefik.http.routers.ghost.service: ghost
43+
traefik.http.services.ghost.loadbalancer.server.port: 2368
4244
# logging:
4345
# driver: "gelf"
4446
# options:
@@ -57,7 +59,7 @@ volumes:
5759
driver: rexray/dobs
5860
driver_opts:
5961
size: 1
60-
62+
6163

6264

6365
---

menu.dockerapp

+5-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ version: 0.1.0
44
# Name of the application
55
name: menu
66
# A short description of the application
7-
description:
7+
description:
88
# Namespace to use when pushing to a registry. This is typically your Hub username.
99
namespace: dogvscat
1010
# List of application maintainers with name and email for each
@@ -25,8 +25,10 @@ services:
2525
deploy:
2626
replicas: 3
2727
labels:
28-
- traefik.port=80
29-
- traefik.frontend.rule=Host:www.dogvs.cat,dogvs.cat
28+
traefik.http.routers.dogvs.rule: Host(`www.dogvs.cat`) || Host(`dogvs.cat`)
29+
traefik.http.routers.dogvs.entryPoints: websecure
30+
traefik.http.routers.dogvs.service: dogvs
31+
traefik.http.services.dogvs.loadbalancer.server.port: 80
3032
# logging:
3133
# driver: "gelf"
3234
# options:

stack-elk.yml

+9-6
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
version: '3.7'
22

3-
x-default-opts:
3+
x-default-opts:
44
&default-opts
55
logging:
66
options:
7-
max-size: "1m"
7+
max-size: "1m"
88
# driver: "gelf"
99
# options:
1010
# gelf-address: "udp://127.0.0.1:5000"
@@ -60,10 +60,13 @@ services:
6060
mode: replicated
6161
replicas: 1
6262
labels:
63-
- traefik.port=5601
64-
- traefik.frontend.rule=Host:kibana.dogvs.cat
65-
- traefik.frontend.auth.basic=${KIBANA_USER:-admin}:${KIBANA_PASSWORD:-$2y$05$oZcj4FgdSFEYNCH0EH/3Vu7Hp72gkvEadHzMsDhGFkbvS/ZrKMKfK}
66-
# TODO: make secrets secret
63+
traefik.http.routers.kibana.rule: Host(`kibana.dogvs.cat`)
64+
traefik.http.routers.kibana.entryPoints: websecure
65+
traefik.http.routers.kibana.service: kibana
66+
traefik.http.routers.kibana.middlewares: kibana-auth
67+
traefik.http.services.kibana.loadbalancer.server.port: 5601
68+
traefik.http.middlewares.kibana-auth.basicauth.users: ${KIBANA_USER:-admin}:${KIBANA_PASSWORD:-$2y$05$oZcj4FgdSFEYNCH0EH/3Vu7Hp72gkvEadHzMsDhGFkbvS/ZrKMKfK}
69+
# TODO: make secrets secret
6770

6871
configs:
6972

stack-ghost.yml

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
version: '3.7'
22

3-
x-default-opts:
3+
x-default-opts:
44
&default-opts
55
logging:
66
options:
7-
max-size: "1m"
7+
max-size: "1m"
88
# driver: "gelf"
99
# options:
1010
# gelf-address: "udp://127.0.0.1:5000"
@@ -28,8 +28,10 @@ services:
2828
deploy:
2929
replicas: 1
3030
labels:
31-
- traefik.port=2368
32-
- traefik.frontend.rule=Host:ghost.dogvs.cat
31+
traefik.http.routers.ghost.rule: Host(`ghost.dogvs.cat`)
32+
traefik.http.routers.ghost.entryPoints: websecure
33+
traefik.http.routers.ghost.service: ghost
34+
traefik.http.services.ghost.loadbalancer.server.port: 2368
3335

3436
db:
3537
<<: *default-opts

stack-menu.yml

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
version: '3.7'
22

3-
x-default-opts:
3+
x-default-opts:
44
&default-opts
55
logging:
66
options:
7-
max-size: "1m"
7+
max-size: "1m"
88
# driver: "gelf"
99
# options:
1010
# gelf-address: "udp://127.0.0.1:5000"
@@ -19,8 +19,10 @@ services:
1919
deploy:
2020
replicas: 3
2121
labels:
22-
- traefik.port=80
23-
- traefik.frontend.rule=Host:www.dogvs.cat,dogvs.cat
22+
traefik.http.routers.dogvs.rule: Host(`www.dogvs.cat`) || Host(`dogvs.cat`)
23+
traefik.http.routers.dogvs.entryPoints: websecure
24+
traefik.http.routers.dogvs.service: dogvs
25+
traefik.http.services.dogvs.loadbalancer.server.port: 80
2426
networks:
2527
- proxy
2628

stack-portainer.yml

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
version: "3.7"
22

3-
x-default-opts:
3+
x-default-opts:
44
&default-opts
55
logging:
66
options:
7-
max-size: "1m"
7+
max-size: "1m"
88
# driver: "gelf"
99
# options:
1010
# gelf-address: "udp://127.0.0.1:5000"
@@ -20,8 +20,10 @@ services:
2020
# constraints: [node.role == manager]
2121
# place on managers when not using agent, place on workers if using agent
2222
labels:
23-
- traefik.port=9000
24-
- traefik.frontend.rule=Host:portainer.dogvs.cat
23+
traefik.http.routers.portainer.rule: Host(`portainer.dogvs.cat`)
24+
traefik.http.routers.dogvs.entryPoints: websecure
25+
traefik.http.routers.portainer.service: portainer
26+
traefik.http.services.portainer.loadbalancer.server.port: 9000
2527
networks:
2628
- proxy
2729
- portainer

stack-proxy.yml

+25-27
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44

55
version: '3.7'
66

7-
x-default-opts:
7+
x-default-opts:
88
&default-opts
99
logging:
1010
options:
11-
max-size: "1m"
11+
max-size: "1m"
1212
# driver: "gelf"
1313
# options:
1414
# gelf-address: "udp://127.0.0.1:5000"
@@ -17,7 +17,7 @@ services:
1717

1818
traefik:
1919
<<: *default-opts
20-
image: traefik:1.7-alpine
20+
image: traefik:2.2
2121
networks:
2222
- proxy
2323
volumes:
@@ -26,38 +26,36 @@ services:
2626
ports:
2727
- "80:80"
2828
- "443:443"
29-
- "8080:8080" # traefik dashboard
3029
command:
3130
# Use your favourite settings here, but add:
32-
- --docker
33-
- --docker.swarmMode
34-
- --docker.domain=traefik
35-
- --docker.network=proxy
36-
- --docker.watch
31+
- --providers.docker
32+
- --providers.docker.swarmMode
33+
- --providers.docker.network=proxy
34+
- --providers.docker.watch
3735
- --api
38-
- --defaultentrypoints=http,https
39-
- --entryPoints=Name:https Address::443 TLS
40-
- --entryPoints=Name:http Address::80 # don't force HTTPS
41-
# - --entryPoints=Name:http Address::80 Redirect.EntryPoint:https # force HTTPS
36+
- --entryPoints.web.address=:80
37+
- --entryPoints.websecure.address=:443
38+
- --entrypoints.websecure.http.tls=true
39+
# - --entrypoints.web.http.redirections.entryPoint.to=websecure # force HTTPS
40+
# - --entrypoints.web.http.tls.certresolver=default
4241
## optional LetsEncrypt settings
43-
# - --acme
44-
# - --acme.email=${TRAEFIK_ACME_EMAIL}
45-
# # TODO: envvar for email and default domain
46-
# - --acme.httpchallenge
47-
# - --acme.httpchallenge.entrypoint=http
48-
# - --acme.onhostrule=true
49-
# - --acme.entrypoint=https
50-
# - --acme.storage=/etc/traefik/acme/acme.json
51-
# - --acme.acmelogging
52-
# - --acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory
53-
# - --acme.caserver=https://acme-v02.api.letsencrypt.org/directory
42+
# - --certificatesResolvers.default.acme.email=${TRAEFIK_ACME_EMAIL}
43+
# - --certificatesResolvers.default.acme.storage=/etc/traefik/acme/acme.json
44+
# - --certificatesResolvers.default.acme.tlsChallenge=true
45+
# - --certificatesResolvers.default.acme.caServer=https://acme-staging-v02.api.letsencrypt.org/directory
46+
# - --certificatesResolvers.default.acme.caServer=https://acme-v02.api.letsencrypt.org/directory
5447
deploy:
5548
placement:
5649
constraints: [node.role == manager]
50+
# Dynamic Configuration
5751
labels:
58-
- traefik.port=8080
59-
- traefik.frontend.rule=Host:traefik.dogvs.cat
60-
52+
traefik.http.routers.api.rule: Host(`traefik.dogvs.cat`)
53+
traefik.http.routers.api.entryPoints: websecure
54+
traefik.http.routers.api.service: api@internal
55+
traefik.http.routers.api.middlewares: auth
56+
traefik.http.services.dummy.loadbalancer.server.port: 4242
57+
traefik.http.middlewares.auth.basicauth.users: test:$$apr1$$H6uskkkW$$IgXLP6ewTrSuBkTrqE8wj/,test2:$$apr1$$d9hr9HBB$$4HxwgUir3HP4EsggP/QNo0
58+
6159
volumes:
6260
acme:
6361
driver: rexray/dobs

stack-sqlite-ghost.yml

+7-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
version: '3.7'
22

3-
x-default-opts:
3+
x-default-opts:
44
&default-opts
55
logging:
66
options:
7-
max-size: "1m"
7+
max-size: "1m"
88
# driver: "gelf"
99
# options:
1010
# gelf-address: "udp://127.0.0.1:5000"
@@ -31,8 +31,10 @@ services:
3131
deploy:
3232
replicas: 1
3333
labels:
34-
- traefik.port=2368
35-
- traefik.frontend.rule=Host:ghost.dogvs.cat
34+
traefik.http.routers.ghost.rule: Host(`ghost.dogvs.cat`)
35+
traefik.http.routers.ghost.entryPoints: websecure
36+
traefik.http.routers.ghost.service: ghost
37+
traefik.http.services.ghost.loadbalancer.server.port: 2368
3638

3739
# TODO: backup for static content
3840

@@ -47,5 +49,5 @@ volumes:
4749
driver: rexray/dobs
4850
driver_opts:
4951
size: 1
50-
52+
5153

stack-swarmprom.yml

+24-13
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
version: "3.7"
22

3-
x-default-opts:
3+
x-default-opts:
44
&default-opts
55
logging:
66
options:
7-
max-size: "1m"
7+
max-size: "1m"
88
# driver: "gelf"
99
# options:
1010
# gelf-address: "udp://127.0.0.1:5000"
@@ -100,8 +100,10 @@ services:
100100
mode: replicated
101101
replicas: 1
102102
labels:
103-
- traefik.port=3000
104-
- traefik.frontend.rule=Host:grafana.dogvs.cat
103+
traefik.http.routers.grafana.rule: Host(`grafana.dogvs.cat`)
104+
traefik.http.routers.grafana.entryPoints: websecure
105+
traefik.http.routers.grafana.service: grafana
106+
traefik.http.services.grafana.loadbalancer.server.port: 3000
105107
placement:
106108
constraints:
107109
- node.role == manager
@@ -131,9 +133,12 @@ services:
131133
mode: replicated
132134
replicas: 1
133135
labels:
134-
- traefik.port=9093
135-
- traefik.frontend.rule=Host:alertmanager.dogvs.cat
136-
- traefik.frontend.auth.basic=${AM_USER:-admin}:${AM_PASSWORD:-$2y$05$oZcj4FgdSFEYNCH0EH/3Vu7Hp72gkvEadHzMsDhGFkbvS/ZrKMKfK}
136+
traefik.http.routers.alertmanager.rule: Host(`alertmanager.dogvs.cat`)
137+
traefik.http.routers.alertmanager.entryPoints: websecure
138+
traefik.http.routers.alertmanager.service: alertmanager
139+
traefik.http.routers.alertmanager.middlewares: alertmanager-auth
140+
traefik.http.services.alertmanager.loadbalancer.server.port: 9093
141+
traefik.http.middlewares.alertmanager-auth.basicauth.users: ${AM_USER:-admin}:${AM_PASSWORD:-$2y$05$oZcj4FgdSFEYNCH0EH/3Vu7Hp72gkvEadHzMsDhGFkbvS/ZrKMKfK}
137142
placement:
138143
constraints:
139144
- node.role == manager
@@ -156,9 +161,12 @@ services:
156161
mode: replicated
157162
replicas: 1
158163
labels:
159-
- traefik.port=9094
160-
- traefik.frontend.rule=Host:unsee.dogvs.cat
161-
- traefik.frontend.auth.basic=${UNSEE_USER:-admin}:${UNSEE_PASSWORD:-$2y$05$oZcj4FgdSFEYNCH0EH/3Vu7Hp72gkvEadHzMsDhGFkbvS/ZrKMKfK}
164+
traefik.http.routers.unsee.rule: Host(`unsee.dogvs.cat`)
165+
traefik.http.routers.unsee.entryPoints: websecure
166+
traefik.http.routers.unsee.service: unsee
167+
traefik.http.routers.unsee.middlewares: unsee-auth
168+
traefik.http.services.unsee.loadbalancer.server.port: 9094
169+
traefik.http.middlewares.unsee-auth.basicauth.users: ${UNSEE_USER:-admin}:${UNSEE_PASSWORD:-$2y$05$oZcj4FgdSFEYNCH0EH/3Vu7Hp72gkvEadHzMsDhGFkbvS/ZrKMKfK}
162170
# - com.df.users=${ADMIN_USER:-admin}:${ADMIN_PASSWORD:-admin}
163171

164172

@@ -213,9 +221,12 @@ services:
213221
mode: replicated
214222
replicas: 1
215223
labels:
216-
- traefik.port=9090
217-
- traefik.frontend.rule=Host:prom.dogvs.cat
218-
- traefik.frontend.auth.basic=${KIBANA_USER:-admin}:${KIBANA_PASSWORD:-$2y$05$oZcj4FgdSFEYNCH0EH/3Vu7Hp72gkvEadHzMsDhGFkbvS/ZrKMKfK}
224+
traefik.http.routers.prom.rule: Host(`prom.dogvs.cat`)
225+
traefik.http.routers.prom.entryPoints: websecure
226+
traefik.http.routers.prom.service: prom
227+
traefik.http.routers.prom.middlewares: prom-auth
228+
traefik.http.services.prom.loadbalancer.server.port: 9090
229+
traefik.http.middlewares.prom-auth.basicauth.users: ${KIBANA_USER:-admin}:${KIBANA_PASSWORD:-$2y$05$oZcj4FgdSFEYNCH0EH/3Vu7Hp72gkvEadHzMsDhGFkbvS/ZrKMKfK}
219230
placement:
220231
constraints:
221232
- node.role == manager

0 commit comments

Comments
 (0)