-
Notifications
You must be signed in to change notification settings - Fork 9
/
docker-compose.yml
170 lines (157 loc) · 3.37 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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
version: '3'
#
# Have a look at the .env file -> used for configuration
#
services:
rabbitmq:
image: rabbitmq:3.9-management-alpine
restart: always
init: true
expose:
- "15672"
- "5672"
hostname: ataka-rabbitmq
networks:
- ataka
environment:
RABBITMQ_DEFAULT_USER: ${RABBITMQ_USER}
RABBITMQ_DEFAULT_PASS: ${RABBITMQ_PASSWORD}
volumes:
- rabbitmq-data:/var/lib/rabbitmq:rw
postgres:
image: postgres:14-alpine
restart: always
init: true
hostname: ataka-postgres
ports:
- "5432:5432"
networks:
- ataka
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- postgres-data:/var/lib/postgresql/data:rw
adminer:
image: adminer:latest
restart: always
ports:
- "8080:8080"
hostname: ataka-adminer
networks:
- ataka
environment:
ADMINER_DEFAULT_SERVER: postgres
api:
image: openattackdefensetools/ataka-api
restart: always
init: true
user: $USERID
build:
context: ./
dockerfile: ataka/api/Dockerfile
volumes:
- ${DATA_STORE}/shared:/data/shared:rw,z
- ${DATA_STORE}/exploits:/data/exploits:rw,z
ports:
- "8000:8000"
security_opt:
- label:disable
depends_on:
- postgres
- rabbitmq
hostname: ataka-api
networks:
- ataka
env_file:
- .env
executor:
image: openattackdefensetools/ataka-executor
restart: always
init: true
user: $USERID
build:
context: ./
dockerfile: ataka/executor/Dockerfile
volumes:
- /var/run/docker.sock:/run/docker.sock:rw
- ${DATA_STORE}/shared:/data/shared:rw,z
- ${DATA_STORE}/exploits:/data/exploits:rw,z
- ${DATA_STORE}/persist:/data/persist:rw,z
security_opt:
- label:disable
depends_on:
- postgres
- rabbitmq
hostname: ataka-executor
networks:
- ataka
env_file:
- .env
exploit:
image: alpine:latest
command: "sleep infinity"
restart: always
init: true
user: $USERID
container_name: ataka-exploit
networks:
- ataka-exploits
ctfcode:
image: openattackdefensetools/ataka-ctfcode
restart: always
init: true
user: $USERID
build:
context: ./
dockerfile: ataka/ctfcode/Dockerfile
volumes:
- ./ataka/ctfconfig:/ataka/ctfconfig:ro
- ./ataka/player-cli:/ataka/player-cli:ro
- ${DATA_STORE}/shared:/data/shared:rw,z
security_opt:
- label:disable
depends_on:
- postgres
- rabbitmq
hostname: ataka-ctfcode
networks:
- ataka
env_file:
- .env
cli:
image: openattackdefensetools/ataka-cli
restart: always
init: true
user: $USERID
build:
context: ./
dockerfile: ataka/cli/Dockerfile
depends_on:
- postgres
- rabbitmq
hostname: ataka-cli
networks:
- ataka
env_file:
- .env
volumes:
postgres-data:
rabbitmq-data:
networks:
ataka:
driver: bridge
driver_opts:
com.docker.network.bridge.name: br-ataka
enable_ipv6: true
ipam:
config:
- subnet: 2001:0DB8::/112
ataka-exploits:
driver: bridge
driver_opts:
com.docker.network.bridge.name: br-exploits
enable_ipv6: true
ipam:
config:
- subnet: 2001:0DB9::/112