/
docker-compose.yml
140 lines (130 loc) · 3.08 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
version: '3'
services:
postgresserver:
image: postgres
hostname: postgresdb
container_name: postgresdb
restart: always
ports:
- 5430:5432
environment:
POSTGRES_USER: "dbuser"
POSTGRES_PASSWORD: "dbpwd"
POSTGRES_DB: "vinylshop"
volumes:
- pgdata:/var/lib/postgresql/data
networks:
- vinylnetwork
zookeeper:
hostname: zookeeper
container_name: zookeeper
image: wurstmeister/zookeeper
restart: always
expose:
- 2181
networks:
- vinylnetwork
kafka:
image: wurstmeister/kafka:1.0.0
hostname: kafka
container_name: kafka
restart: always
links:
- zookeeper
ports:
- 9092:9092
environment:
ES_JAVA_OPTS: -Xms256m -Xmx256m
KAFKA_JMX_OPTS: -Xms256m -Xmx256m
KAFKA_HEAP_OPTS: -Xmx256M -Xms256M
KAFKA_CREATE_TOPICS: "dirty_records:1:1"
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true"
KAFKA_LOG_RETENTION_HOURS: 6
KAFKA_BROKER_ID: 0
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
- vinylnetwork
parsingjob:
image: parsingjob
hostname: parsingjob
container_name: parsingjob
restart: always
links:
- kafka
- postgresserver
expose:
- 20081
build:
context: .
dockerfile: Vinyl.ParsingJob/Dockerfile
environment:
DB_CONNECTION_STRING: "host=postgresdb;port=5432;database=vinylshop;username=dbuser;password=dbpwd"
PROXY_PREFIX: "parsing"
CLEAR_DB: "0"
KAFKA_DIRTY_RECORDS_TOPIC: "dirty_records"
KAFKA_CONNECT: "kafka:9092"
networks:
- vinylnetwork
recordprocessingjob:
image: recordprocessingjob
hostname: recordprocessingjob
container_name: recordprocessingjob
restart: always
links:
- kafka
- postgresserver
expose:
- 20082
build:
context: .
dockerfile: Vinyl.RecordProcessingJob/Dockerfile
environment:
DB_CONNECTION_STRING: "host=postgresdb;port=5432;database=vinylshop;username=dbuser;password=dbpwd"
PROXY_PREFIX: "processing"
KAFKA_DIRTY_RECORDS_TOPIC: "dirty_records"
KAFKA_FIND_INFO_RECORDS_TOPIC: "find_infos_records"
KAFKA_CONNECT: "kafka:9092"
networks:
- vinylnetwork
site:
image: site
hostname: site
container_name: site
restart: always
links:
- kafka
- postgresserver
expose:
- 20080
build:
context: .
dockerfile: Vinyl.Site/Dockerfile
environment:
DB_CONNECTION_STRING: "host=postgresdb;port=5432;database=vinylshop;username=dbuser;password=dbpwd"
networks:
- vinylnetwork
nginxproxy:
image: nginxproxy
hostname: nginxproxy
container_name: nginxproxy
restart: always
build:
context: ./nginx
dockerfile: Dockerfile
ports:
- 80:80
links:
- recordprocessingjob
- parsingjob
- site
- kafka
- postgresserver
networks:
- vinylnetwork
networks:
vinylnetwork:
driver: bridge
volumes:
pgdata: