1
1
version : ' 3'
2
2
3
3
services :
4
+ traefik :
5
+ image : traefik:2.9
6
+ container_name : appwrite-traefik
7
+ command :
8
+ - --log.level=DEBUG
9
+ - --api.insecure=true
10
+ - --providers.file.directory=/storage/config
11
+ - --providers.file.watch=true
12
+ - --providers.docker=true
13
+ - --providers.docker.exposedByDefault=false
14
+ - --providers.docker.constraints=Label(`traefik.constraint-label-stack`,`mock_api`)
15
+ - --entrypoints.mock_web.address=:80
16
+ - --entrypoints.mock_websecure.address=:443
17
+ - --accesslog=true
18
+ ports :
19
+ - 80:80
20
+ - 8080:80
21
+ - 443:443
22
+ - 9500:8080
23
+ volumes :
24
+ - /var/run/docker.sock:/var/run/docker.sock
25
+ - mock-config:/storage/config:ro
26
+ - mock-certificates:/storage/certificates:ro
27
+ depends_on :
28
+ - mockapi
29
+ networks :
30
+ - gateway
31
+ - mockapi
32
+
4
33
mockapi :
5
34
container_name : mockapi
6
35
build :
@@ -16,4 +45,31 @@ services:
16
45
volumes :
17
46
- ./app:/usr/src/code/app
18
47
- ./src:/usr/src/code/src
19
- - ./vendor:/usr/src/code/vendor
48
+ - ./vendor:/usr/src/code/vendor
49
+ labels :
50
+ - " traefik.enable=true"
51
+ - " traefik.constraint-label-stack=mock_api"
52
+ - " traefik.docker.network=mockapi"
53
+ - " traefik.http.services.mock_api.loadbalancer.server.port=80"
54
+ # http
55
+ - traefik.http.routers.mock_api_http.entrypoints=mock_web
56
+ - traefik.http.routers.mock_api_http.rule=PathPrefix(`/`)
57
+ - traefik.http.routers.mock_api_http.service=mock_api
58
+ # https
59
+ - traefik.http.routers.mock_api_https.entrypoints=mock_websecure
60
+ - traefik.http.routers.mock_api_https.rule=PathPrefix(`/`)
61
+ - traefik.http.routers.mock_api_https.service=mock_api
62
+ - traefik.http.routers.mock_api_https.tls=true
63
+ networks :
64
+ - mockapi
65
+
66
+ volumes :
67
+ mock-certificates :
68
+ mock-config :
69
+
70
+ networks :
71
+ mockapi :
72
+ name : mockapi
73
+ gateway :
74
+ name : gateway
75
+
0 commit comments