-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclustervms-compose.yaml
52 lines (51 loc) · 1.72 KB
/
clustervms-compose.yaml
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
version: '3.2'
services:
traefik:
image: traefik:v2.9
command:
- "--api.insecure=true"
- "--entrypoints.web.address=:80"
- "--providers.docker.exposedbydefault=false"
- "--providers.docker=true"
ports:
- "80:80" # ClusterVMS UI and backend
- "8080:8080" # Traefik UI for debugging routing
restart: always
user: "${UID}:${GID}"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
ui:
image: alicrow/clustervms-ui:latest
labels:
- "traefik.enable=true"
# Match any request that's NOT for the API
- "traefik.http.routers.clustervms-ui.entrypoints=web"
- "traefik.http.routers.clustervms-ui.rule=!PathPrefix(`/v0/`)"
restart: always
user: "${UID}:${GID}"
camera-mgr:
image: alicrow/clustervms-camera-mgr:latest
labels:
- "traefik.enable=true"
- "traefik.http.routers.clustervms-camera-mgr.entrypoints=web"
- "traefik.http.routers.clustervms-camera-mgr.rule=PathPrefix(`/v0/cameras`)"
- "traefik.http.services.clustervms-camera-mgr.loadbalancer.server.port=8000"
restart: always
user: "${UID}:${GID}"
volumes:
- type: bind
source: /etc/clustervms
target: /etc/clustervms
rtsp-to-webrtc:
image: alicrow/rtsp-to-webrtc:latest
labels:
- "traefik.enable=true"
- "traefik.http.routers.rtsp-to-webrtc.entrypoints=web"
- "traefik.http.routers.rtsp-to-webrtc.rule=PathPrefix(`/v0/cameras/{id:[0-9A-Za-z_]+}/streams/{id:[0-9A-Za-z_]+}/sdp`)"
- "traefik.http.services.rtsp-to-webrtc.loadbalancer.server.port=8000"
restart: always
user: "${UID}:${GID}"
volumes:
- type: bind
source: /etc/clustervms
target: /etc/clustervms