-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yml
101 lines (96 loc) · 2.49 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
services:
frontend:
container_name: depex_frontend
build:
context: .
dockerfile: ./frontend/Dockerfile
volumes:
- ./frontend:/frontend
depends_on:
backend:
condition: service_healthy
ports:
- '3000:3000'
networks:
- depex
backend:
container_name: depex_backend
build:
context: .
dockerfile: ./backend/Dockerfile
volumes:
- ./backend:/backend
- .env:/backend/.env
depends_on:
graph_database:
condition: service_healthy
vuln_database_seeder:
condition: service_completed_successfully
ports:
- '8000:8000'
networks:
- depex
healthcheck:
test: curl --fail http://localhost:8000/health || exit 1
interval: 10s
start_period: 30s
graph_database:
env_file: .env
container_name: neo4j
image: neo4j:5.26.4
environment:
- EXTENSION_SCRIPT=/seeds/graphdb_seeder.sh
- NEO4J_AUTH=${GRAPH_DB_USER}/${GRAPH_DB_PASSWORD}
- NEO4J_PLUGINS=["apoc"]
- NEO4J_server_http_listen__address=:7474
- NEO4J_server_http_advertised__address=:7474
- NEO4J_server_bolt_listen__address=:7687
- NEO4J_server_bolt_advertised__address=:7687
- NEO4J_apoc_export_file_enabled=true
ports:
- '7474:7474'
- '7687:7687'
volumes:
- ./seeds/graphs/neo4j.dump:/backups/neo4j.dump
- ./seeds/graphdb_seeder.sh:/seeds/graphdb_seeder.sh
networks:
- depex
healthcheck:
test: wget http://localhost:7474 || exit 1
interval: 10s
timeout: 10s
retries: 10
start_period: 30s
vuln_database_seeder:
env_file: .env
container_name: mongodb_seeder
image: mongo:8.0.5
depends_on:
vuln_database:
condition: service_healthy
volumes:
- ./seeds/vuln/:/seeds/vuln/
- ./seeds/vulndb_seeder.sh:/seeds/vulndb_seeder.sh
command: /seeds/vulndb_seeder.sh
networks:
- depex
vuln_database:
env_file: .env
container_name: mongodb
image: mongo:8.0.5
environment:
- MONGO_INITDB_ROOT_USERNAME=${VULN_DB_USER}
- MONGO_INITDB_ROOT_PASSWORD=${VULN_DB_PASSWORD}
ports:
- '27017:27017'
networks:
- depex
healthcheck:
test: "echo 'db.stats().ok' | mongosh --username=${VULN_DB_USER} --password=${VULN_DB_PASSWORD} --authenticationDatabase=admin mongodb/testdb"
interval: 30s
timeout: 10s
retries: 10
start_period: 30s
networks:
depex:
driver: bridge