-
Notifications
You must be signed in to change notification settings - Fork 39
/
Copy pathdocker-compose.yaml
127 lines (111 loc) · 3.63 KB
/
docker-compose.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
version: "3"
services:
mongo:
image: mongo:3.6
ports:
- "27017:27017"
networks:
- derbyjs_overlay
redis:
image: redis:3
ports:
- "6379:6379"
networks:
- derbyjs_overlay
derby_site:
image: derbyjs/derby-site:2024-05-31
deploy:
replicas: 2
update_config:
parallelism: 1
delay: 10s
labels: &derby_site_labels
traefik.enable: "true"
traefik.docker.network: derbyjs_derbyjs_overlay
traefik.http.routers.derby-site.rule: Host(`derbyjs.com`) || Host(`www.derbyjs.com`) || Path(`/robots.txt`)
traefik.http.services.derby-site.loadbalancer.server.port: 4000
traefik.priority: 100
ports:
- "4000:4000"
labels: *derby_site_labels
networks:
- derbyjs_overlay
derby_examples:
image: derbyjs/derby-examples:2024-05-20
deploy:
replicas: 1
update_config:
parallelism: 1
delay: 10s
labels: &derby_examples_labels
traefik.enable: "true"
traefik.docker.network: derbyjs_derbyjs_overlay
traefik.http.routers.charts.rule: Host(`charts.derbyjs.com`)
traefik.http.routers.charts.service: charts
traefik.http.services.charts.loadbalancer.server.port: 8001
traefik.http.routers.chat.rule: Host(`chat.derbyjs.com`)
traefik.http.routers.chat.service: chat
traefik.http.services.chat.loadbalancer.server.port: 8002
traefik.http.routers.codemirror.rule: Host(`codemirror.derbyjs.com`)
traefik.http.routers.codemirror.service: codemirror
traefik.http.services.codemirror.loadbalancer.server.port: 8003
traefik.http.routers.directory.rule: Host(`directory.derbyjs.com`)
traefik.http.routers.directory.service: directory
traefik.http.services.directory.loadbalancer.server.port: 8004
traefik.http.routers.hello.rule: Host(`hello.derbyjs.com`)
traefik.http.routers.hello.service: hello
traefik.http.services.hello.loadbalancer.server.port: 8005
traefik.http.routers.sink.rule: Host(`sink.derbyjs.com`)
traefik.http.routers.sink.service: sink
traefik.http.services.sink.loadbalancer.server.port: 8006
traefik.http.routers.todos.rule: Host(`todos.derbyjs.com`)
traefik.http.routers.todos.service: todos
traefik.http.services.todos.loadbalancer.server.port: 8007
traefik.http.routers.widgets.rule: Host(`widgets.derbyjs.com`)
traefik.http.routers.widgets.service: widgets
traefik.http.services.widgets.loadbalancer.server.port: 8008
traefik.http.routers.render.rule: Host(`render.derbyjs.com`)
traefik.http.routers.render.service: render
traefik.http.services.render.loadbalancer.server.port: 8009
ports:
- "8001:8001"
- "8002:8002"
- "8003:8003"
- "8004:8004"
- "8005:8005"
- "8006:8006"
- "8007:8007"
- "8008:8008"
- "8009:8009"
depends_on:
- mongo
- redis
environment:
MONGO_HOST: mongo
REDIS_HOST: redis
labels: *derby_examples_labels
networks:
- derbyjs_overlay
traefik:
image: traefik:v2.11
deploy:
replicas: 2
update_config:
parallelism: 1
delay: 10s
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- "0.0.0.0:8080:80"
command:
- --api=true
- --ping=true
- --ping.entrypoint=http
- --providers.docker
- --providers.docker.exposedbydefault=false
- --providers.docker.swarmmode=${SWARM_MODE}
networks:
- derbyjs_overlay
networks:
derbyjs_overlay:
driver: overlay