-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathdocker-compose.yml
128 lines (121 loc) · 2.97 KB
/
docker-compose.yml
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
128
# CxSAST run stack with Portainer for management.
#
# CxSAST - http://localhost:8000/CxWebClient/
# Portainer - http://localhost:9000
#
# See README.md for more information
version: "3.2"
services:
db:
image: cxai/cxdb
ports:
- "1433:1433"
volumes:
- cxdb:/var/opt/mssql
environment:
- SA_PASSWORD=Passw0rd!
networks: # default overlay network works fine too, this is defined for easier troubleshooting
- internal
deploy:
placement:
constraints: [node.platform.os == linux]
restart_policy:
condition: on-failure # none - if it's down keep it down
delay: 5s
max_attempts: 3
manager:
image: cxai/cxmanagers
volumes:
- cxlicense:c:/temp
networks:
- internal
environment:
- sast_db=db
deploy:
endpoint_mode: dnsrr
placement:
constraints: [node.platform.os == windows]
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
depends_on:
- "db"
portal:
image: cxai/cxportal
volumes:
- cxlicense:c:/temp
ports:
# the host mode required because of dnsrr
- target: 80
published: 8000
protocol: tcp
mode: host
#- "9443:433"
#- "9080:80"
#- "80:80"
environment:
- sast_manager=manager
networks:
- internal
deploy:
endpoint_mode: dnsrr
placement:
constraints: [node.platform.os == windows]
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
depends_on:
- "db"
engine:
image: cxai/cxengine
volumes:
- cxlicense:c:/temp
environment:
- sast_server=manager
- sast_admin=admin@cx
- sast_adminpwd=admin
hostname: engine
networks:
- internal
deploy:
endpoint_mode: dnsrr
placement:
constraints: [node.platform.os == windows]
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
depends_on:
- "manager"
portainer:
image: portainer/portainer
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer:/data
ports:
- "9000:9000"
networks:
- internal
deploy:
placement:
constraints:
- node.role == manager
- node.platform.os == linux
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
# volumes need to be external so they are not re-created each time a stack is provisioned
volumes:
cxdb:
external: true
cxlicense:
external: true
portainer_data:
external: true
# the net is defined to be attachable for troubleshooting, not really necessary otherwise
networks:
internal:
attachable: true