This repository has been archived by the owner on Aug 29, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yml
100 lines (92 loc) · 2.43 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
version: '3.2'
services:
elasticsearch:
build:
context: elasticsearch/
args:
ELK_VERSION: $ELK_VERSION
volumes:
- type: bind
source: ./elasticsearch/config/elasticsearch.yml
target: /usr/share/elasticsearch/config/elasticsearch.yml
read_only: true
- type: volume
source: elasticsearch
target: /usr/share/elasticsearch/data
ports:
- "127.0.0.1:9200:9200"
- "127.0.0.1:9300:9300"
environment:
ES_JAVA_OPTS: "-Xmx256m -Xms256m"
ELASTIC_USERNAME: "elastic"
ELASTIC_PASSWORD: $elasticsearch_password
http.cors.enabled: "true"
http.cors.allow-origin: "*"
discovery.type: single-node
networks:
- elk
kibana:
build:
context: kibana/
args:
ELK_VERSION: $ELK_VERSION
volumes:
- type: bind
source: ./kibana/config/kibana.yml
target: /usr/share/kibana/config/kibana.yml
read_only: true
ports:
- "5601:5601"
networks:
- elk
depends_on:
- elasticsearch
lamp:
build:
context: lamp/
dockerfile: Dockerfile
networks:
- elk
environment:
- elasticsearch_password=$elasticsearch_password
volumes:
- ./lamp/packetbeat.yml:/etc/packetbeat/packetbeat.yml
- ./lamp/filebeat.yml:/etc/filebeat/filebeat.yml
- ./lamp/metricbeat.yml:/etc/metricbeat/metricbeat.yml
- ./lamp/heartbeat.yml:/etc/heartbeat/heartbeat.yml
- ./lamp/start_service.sh:/var/www/html/start_service.sh
- ./lamp/suricata.yaml:/etc/suricata/suricata.yaml
- ./lamp/sql.rules:/usr/share/suricata/rules/sql.rules
lb:
image: dockercloud/haproxy
links:
- lamp
- mysql:mysql
ports:
- "80:80"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
- elk
mysql:
build:
context: mysql/
dockerfile: Dockerfile
restart: on-failure:5
environment:
- MYSQL_ROOT_PASSWORD=Passw0rd!
- elasticsearch_password=$elasticsearch_password
networks:
- elk
volumes:
- ./database:/var/lib/mysql
- ./mysql/filebeat.yml:/etc/filebeat/filebeat.yml
- ./mysql/metricbeat.yml:/etc/metricbeat/metricbeat.yml
- ./mysql/heartbeat.yml:/etc/heartbeat/heartbeat.yml
- ./mysql/start_service.sh:/start_service.sh
- ./mysql/my.cnf:/etc/mysql/my.cnf
networks:
elk:
driver: bridge
volumes:
elasticsearch: