-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.base.yml
More file actions
62 lines (58 loc) · 2.41 KB
/
docker-compose.base.yml
File metadata and controls
62 lines (58 loc) · 2.41 KB
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
version: "3.8"
services:
traefik:
image: "traefik:v2.5"
container_name: cw-traefik
restart: unless-stopped
command:
- "--log.level=DEBUG"
- "--api.dashboard=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=true"
- "--providers.docker.constraints=Label(`crowsnest.expose`, `true`)"
- "--entrypoints.web.address=:80"
- "--entrypoints.mqtt.address=:1883"
- "--entrypoints.traefik-dashboard.address=:8080"
- "--entrypoints.emqx-dashboard.address=:8081"
# Dynamic Configuration
labels:
- "crowsnest.expose=true"
- "traefik.http.routers.traefik-dashboard.rule=(PathPrefix(`/api`) || PathPrefix(`/dashboard`))"
- "traefik.http.routers.traefik-dashboard.entryPoints=traefik-dashboard"
- "traefik.http.routers.traefik-dashboard.service=api@internal"
ports:
- "${CROWSNEST_EXTERNAL_HTTP_PORT:-80}:80"
- "${CROWSNEST_EXTERNAL_MQTT_TCP_PORT:-1883}:1883"
- "${CROWSNEST_EXTERNAL_TRAEFIK_DASHBOARD_PORT:-0}:8080"
- "${CROWSNEST_EXTERNAL_EMQX_DASHBOARD_PORT:-0}:8081"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
emqx:
image: emqx/emqx:4.4.11
container_name: cw-emqx
restart: unless-stopped
environment:
- EMQX_NAME=crowsnest
- EMQX_HOST=127.0.0.1
- EMQX_ACL_NOMATCH=allow
- EMQX_ACL_FILE=etc/not-available.conf
- EMQX_MQTT__MAX_PACKET_SIZE=10MB
labels:
- "crowsnest.expose=true"
- "traefik.tcp.routers.emqx-tcp.rule=HostSNI(`*`)"
- "traefik.tcp.routers.emqx-tcp.entryPoints=mqtt"
- "traefik.tcp.routers.emqx-tcp.service=emqx-tcp-service"
- "traefik.tcp.services.emqx-tcp-service.loadbalancer.server.port=1883"
- "traefik.http.routers.emqx-ws.rule=PathPrefix(`/mqtt`)"
- "traefik.http.routers.emqx-ws.entryPoints=web"
- "traefik.http.routers.emqx-ws.service=emqx-ws-service"
- "traefik.http.services.emqx-ws-service.loadbalancer.server.port=8083"
- "traefik.tcp.routers.emqx-dashboard.rule=HostSNI(`*`)"
- "traefik.tcp.routers.emqx-dashboard.entryPoints=emqx-dashboard"
- "traefik.tcp.routers.emqx-dashboard.service=emqx-dashboard-service"
- "traefik.tcp.services.emqx-dashboard-service.loadbalancer.server.port=18083"
rtsp:
image: docker.io/aler9/rtsp-simple-server:latest
container_name: cw-rtsp-server
restart: unless-stopped
network_mode: "host"