-
Notifications
You must be signed in to change notification settings - Fork 15
/
docker-compose.yml
116 lines (105 loc) · 2.39 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
version: '3'
services:
## Core Services
# Redis: dmw2151/redismods -> uses redislabs default container as base
# See Image: https://hub.docker.com/r/redislabs/redismod
redis:
image: dmw2151/redismods
build: ./redis
expose:
- 6379
ports:
- "6379:6379"
env_file:
- ./envs/postgres.env
volumes:
- ./redis/:/redis/
- redis_data:/data/
restart:
unless-stopped
# Mqtt Connector: Runs a Golang service which receives from a MQTT stream
# and pushes to a redis instance
mqtt:
image: dmw2151/mqtt_connector
build:
context: ./hslservices/
dockerfile: ./cmd/mqtt/Dockerfile
depends_on:
- "redis"
env_file:
- ./envs/mqtt_connector.env
- ./envs/redis.env
restart:
unless-stopped
# Postgis: Used for Writebehind of Statistics/EventLog ->
postgis:
image: mdillon/postgis
expose:
- 5432
ports:
- "5433:5432"
env_file:
- ./envs/postgres.env
volumes:
- postgres_data:/var/lib/postgresql/data/ # For persisting the database
- ./postgis/:/docker-entrypoint-initdb.d # For enabling scripts on init
# Frontend: Notes....
frontend:
image: dmw2151/hslolfrontend
build: ./frontend/
depends_on:
- "redis"
- "mqtt"
- "tiles_api"
- "locations_api"
ports:
- "8080:1234"
volumes:
- ./frontend/dist/:/hslolfrontend/dist
env_file:
- './envs/hslweb.env'
restart:
unless-stopped
# Tile Generation Sidecar; Should sit near to PostGIS as possible
tilegen:
image: dmw2151/tilegen
build: ./tilegen/
depends_on:
- "postgis"
volumes:
- ./tilegen/tiles/:/tiles
env_file:
- ./envs/postgres.env
restart:
unless-stopped
# Spatial API:
tiles_api:
image: dmw2151/tiles_api
build:
context: ./hslservices/
dockerfile: ./cmd/tiles/Dockerfile
expose:
- 2151
ports:
- "2151:2151"
volumes:
- ./tilegen/tiles/:/tiles/:ro
env_file:
- ./envs/layers_api.env
# Locations API:
locations_api:
image: dmw2151/locations_api
build:
context: ./hslservices/
dockerfile: ./cmd/locations/Dockerfile
expose:
- 2152
ports:
- "2152:2152"
depends_on:
- "redis"
env_file:
- ./envs/redis.env
volumes:
postgres_data:
redis_data: