-
Notifications
You must be signed in to change notification settings - Fork 2
/
docker-compose.yml
132 lines (118 loc) · 3.16 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
version: '3.6'
networks:
elk:
driver: bridge
kafkanet: # connection to kafka
name: kafkanet
driver: bridge
services:
# Kafka Service Running with Zookeeper
zookeeper:
image: 'zookeeper:latest'
ports:
- "2181:2181"
environment:
ALLOW_ANONYMOUS_LOGIN: 1
kafka:
image: 'bitnami/kafka:2.8.1'
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_HOSTNAME: localhost
ALLOW_PLAINTEXT_LISTENER: 1
kafka_manager:
image: hlebalbau/kafka-manager:stable
ports:
- "9000:9000"
environment:
ZK_HOSTS: "zookeeper:2181"
APPLICATION_SECRET: "random-secret"
# Influx DB Server
influxdb:
image: influxdb:latest
container_name: influxdb
restart: always
environment:
- DOCKER_INFLUXDB_INIT_MODE=setup
- DOCKER_INFLUXDB_INIT_USERNAME=data_hunters # Replace with your desired admin username
- DOCKER_INFLUXDB_INIT_PASSWORD=OST22/23 # Replace with your desired admin password
- DOCKER_INFLUXDB_INIT_ORG=OST # Replace with your desired organization name
- DOCKER_INFLUXDB_INIT_BUCKET=Epsymolo # Replace with your desired bucket name
- DOCKER_INFLUXDB_INIT_RETENTION=1w # Optional: default retention policy, e.g., '1w' for one week
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=ERKMHDv-dYn0HaOhHdTqr0eCLNm3kSXJ79aBgHqqAeAYLEDiCQk1zZYj6GBIbAFFLd-Iaeh85P4E5Y0tI5y4Vw==
# Replace with your desired token
ports:
- '8086:8086'
mongodb:
image: mongo:latest
container_name: mongodb
ports:
- "27017:27017"
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: root
volumes:
- mongodb_data:/data/db
#kafdrop:
# image: obsidiandynamics/kafdrop:latest
# container_name: kafdrop
# ports:
# - 9081:9081
# environment:
# - KAFKA_BROKERCONNECT=kafka:9092
# depends_on:
# - kafka
telegraf:
image: telegraf
container_name: telegraf
restart: always
volumes:
- ./telegraf.conf:/etc/telegraf/telegraf.conf:ro
depends_on:
- influxdb
links:
- influxdb
ports:
- '8125:8125'
# Framework for data visualization
grafana:
image: grafana/grafana
container_name: grafana-server
restart: always
depends_on:
- influxdb
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=admin
# - GF_INSTALL_PLUGINS=
links:
- influxdb
ports:
- '3000:3000'
volumes:
- grafana_data:/var/lib/grafana
#Framework for Spark
spark-master:
image: bitnami/spark:latest
ports:
- '8080:8080'
environment:
- SPARK_MODE=master
- SPARK_RPC_AUTHENTICATION_ENABLED=no
- SPARK_RPC_ENCRYPTION_ENABLED=no
- SPARK_LOCAL_STORAGE_ENCRYPTION_ENABLED=no
- SPARK_SSL_ENABLED=no
spark:
image: jupyter/pyspark-notebook:latest
container_name: pyspark
user: 1000:100
ports:
- 8888:8888
depends_on:
- influxdb
volumes:
grafana_data: {}
influxdb_data: {}
mongodb_data: {}