-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathdocker-compose.yml
138 lines (126 loc) · 4.32 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
name: brewblox-ui
networks:
default:
driver_opts:
com.docker.network.bridge.name: br-${COMPOSE_PROJECT_NAME}
services:
eventbus:
image: ghcr.io/brewblox/mosquitto:develop
labels:
- traefik.http.services.eventbus.loadbalancer.server.port=15675
victoria:
image: victoriametrics/victoria-metrics:v1.98.0
command: --envflag.enable=true --envflag.prefix=VM_
labels:
- traefik.http.services.victoria.loadbalancer.server.port=8428
environment:
- VM_retentionPeriod=100y
- VM_influxMeasurementFieldSeparator=/
- VM_http_pathPrefix=/victoria
- VM_search_latencyOffset=10s
volumes:
- type: bind
source: ${BREWBLOX_CACHE_DIR}/victoria
target: /victoria-metrics-data
redis:
image: redis:6.0
command: --appendonly yes
labels:
- traefik.enable=false
volumes:
- type: bind
source: ${BREWBLOX_CACHE_DIR}/redis
target: /data
history:
image: ghcr.io/brewblox/brewblox-history:develop
node-red:
image: nodered/node-red:latest-minimal
volumes:
- type: bind
source: ${BREWBLOX_CACHE_DIR}/node-red
target: /data
sparkey:
image: ghcr.io/brewblox/brewblox-devcon-spark:develop
restart: unless-stopped
privileged: true
environment:
- BREWBLOX_SPARK_SIMULATION=true
- BREWBLOX_SPARK_DEVICE_ID=123456789012345678901234
volumes:
- type: bind
source: ${BREWBLOX_CACHE_DIR}/simulator__sparkey
target: /app/simulator
spock:
image: ghcr.io/brewblox/brewblox-devcon-spark:develop
restart: unless-stopped
privileged: true
environment:
- BREWBLOX_SPARK_SIMULATION=true
- BREWBLOX_SPARK_DEVICE_ID=432109876543210987654321
volumes:
- type: bind
source: ${BREWBLOX_CACHE_DIR}/simulator__spock
target: /app/simulator
usb-proxy:
image: ghcr.io/brewblox/brewblox-usb-proxy:develop
restart: unless-stopped
privileged: true
labels:
- traefik.http.services.usb-proxy.loadbalancer.server.port=5000
tilt:
image: ghcr.io/brewblox/brewblox-tilt:develop
restart: unless-stopped
privileged: true
labels:
- traefik.enable=false
environment:
- BREWBLOX_TILT_SIMULATE=["Pink"]
volumes:
- type: bind
source: ${BREWBLOX_CACHE_DIR}/tilt
target: /share
auth:
image: ghcr.io/brewblox/brewblox-auth:develop
environment:
- BREWBLOX_AUTH_ENABLED=False
- BREWBLOX_AUTH_IGNORE=/|/(ui|static)/.*
volumes:
- type: bind
source: ./dev/auth
target: /app/data
traefik:
image: traefik:2.10
ports:
- '9000:9000'
- '9001:9001'
- '127.0.0.1:9601:9601'
labels:
- traefik.http.routers.api.rule=PathPrefix(`/api`) || PathPrefix(`/dashboard`)
- traefik.http.routers.api.service=api@internal
- traefik.http.middlewares.prefix-strip.stripprefixregex.regex=/[^/]+
- traefik.http.middlewares.auth.forwardauth.address=http://auth:5000/auth/verify
- traefik.http.middlewares.cors.headers.AccessControlAllowMethods=CONNECT,HEAD,GET,DELETE,OPTIONS,PATCH,POST,PUT,TRACE
- traefik.http.middlewares.cors.headers.accessControlAllowOriginListRegex=.*
- traefik.http.middlewares.cors.headers.AccessControlAllowCredentials=true
- traefik.http.middlewares.cors.headers.AccessControlAllowHeaders=Origin,X-Requested-With,Content-Type,Accept
environment:
- TRAEFIK_API_DASHBOARD=true
- TRAEFIK_PROVIDERS_DOCKER=true
- TRAEFIK_PROVIDERS_DOCKER_CONSTRAINTS=LabelRegex(`com.docker.compose.project`, `${COMPOSE_PROJECT_NAME}`)
- TRAEFIK_PROVIDERS_DOCKER_DEFAULTRULE=PathPrefix(`/{{ index .Labels "com.docker.compose.service" }}`)
- TRAEFIK_PROVIDERS_FILE_DIRECTORY=/config
- TRAEFIK_ENTRYPOINTS_WEBSECURE_ADDRESS=:9001
- TRAEFIK_ENTRYPOINTS_WEBSECURE_HTTP_TLS=true
- TRAEFIK_ENTRYPOINTS_WEBSECURE_HTTP_MIDDLEWARES=cors,auth
- TRAEFIK_ENTRYPOINTS_WEB_ADDRESS=:9000
- TRAEFIK_ENTRYPOINTS_WEB_HTTP_REDIRECTIONS_ENTRYPOINT_TO=websecure
- TRAEFIK_ENTRYPOINTS_ADMIN_ADDRESS=:9601
- TRAEFIK_ENTRYPOINTS_ADMIN_HTTP_MIDDLEWARES=cors
volumes:
- type: bind
source: ./dev/traefik
target: /config
read_only: true
- type: bind
source: /var/run/docker.sock
target: /var/run/docker.sock