-
Notifications
You must be signed in to change notification settings - Fork 60
Expand file tree
/
Copy pathdocker-compose-selfstream.yml
More file actions
157 lines (154 loc) · 4.05 KB
/
Copy pathdocker-compose-selfstream.yml
File metadata and controls
157 lines (154 loc) · 4.05 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
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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
####################################################
# Not production ready, only for local development #
####################################################
services:
tum-live:
container_name: tum-live
depends_on:
db:
condition: service_started
meili-internal:
condition: service_healthy
build:
context: .
dockerfile: Dockerfile-local
volumes:
- ./config.yaml:/etc/TUM-Live/config.yaml
- ./branding/branding.yaml:/etc/TUM-Live/branding.yaml
- mass:/mass
restart: always
environment:
- DBHOST=db
- TZ=Europe/Berlin
ports:
- "8081:8081"
extra_hosts: # Only needed if you use wsl
- "localhost:host-gateway"
healthcheck:
test: [ "CMD-SHELL", "nc -z localhost 8081 || exit 1" ]
interval: 5s
timeout: 3s
retries: 15
start_period: 60s # Gibt dem Dienst Zeit zum Booten
runner:
container_name: tum-live-runner
depends_on:
tum-live:
condition: service_healthy
build:
context: runner/
dockerfile: Dockerfile
platform: linux/amd64
environment:
- STORAGE_PATH=/storage/mass
- SEGMENT_PATH=/storage/live
- REALHOST=runner
- "EDGE_SERVER=http://localhost:8089"
- "GOCAST_SERVER=tum-live:50056"
volumes:
- runner_data:/storage/live
- vod:/storage/mass
ports:
- "52735:52735"
- "9947:9947"
extra_hosts: # Only needed if you use wsl
- "ingest.tum.live:host-gateway"
ingest:
container_name: tum-live-ingest
build:
context: ingest/
dockerfile: Dockerfile-local
platform: linux/amd64
ports:
- "1935:1935"
edge:
container_name: tum-live-edge
depends_on:
tum-live:
condition: service_healthy
build: worker/edge
environment:
- VOD_DIR=/vod
- MAIN_INSTANCE=http://tum-live:8081
- ADMIN_TOKEN=123
ports:
- "8089:8089"
- "2112:2112"
volumes:
- vod:/vod
db:
container_name: mariadb_container
image: mariadb
environment:
MYSQL_ROOT_USER: root
MYSQL_ROOT_PASSWORD: example
TZ: Europe/Berlin
command: --init-file /data/application/init.sql
volumes:
- ./tum-live-starter.sql:/data/application/init.sql
- mariadb-data:/var/lib/mysql
restart: always
worker:
container_name: tum-live-worker
depends_on:
runner:
condition: service_started
build: worker
platform: linux/amd64
environment:
- Token=abc
- Host=worker
- MainBase=tum-live
- VodURLTemplate=http://localhost:8089/vod/%s.mp4/playlist.m3u8
- LrzUploadUrl=http://vod-service:8080
- DEBUG-MODE=true
volumes:
- recordings:/recordings
- mass:/mass
vod-service:
container_name: tum-live-vod-service
depends_on:
runner:
condition: service_started
build:
context: vod-service
dockerfile: Dockerfile-local
environment:
- OUTPUT_DIR=/vod
volumes:
- vod:/vod
meili-internal: # Service-Name geändert
image: getmeili/meilisearch:latest
# KEIN container_name! (Docker generiert einen eindeutigen Namen)
ports:
- "7700:7700" # Extern 7701 nutzen, um Konflikt mit 7700 zu vermeiden
environment:
- MEILI_HTTP_ADDR=0.0.0.0:7700
- MEILI_MASTER_KEY=MASTER_KEY
- MEILI_NO_ANALYTICS=true
volumes:
- meili_gocast_data:/meili_data # Eigener Volume-Name
healthcheck:
test: [ "CMD-SHELL", "wget -q --spider http://127.0.0.1:7700/health || exit 1" ]
interval: 5s
timeout: 3s
retries: 10
start_period: 20s
# Omitted for local development due to size. Comment out to use voice-service
# voice-service:
# container_name: tum-live-voice-service
# image: ghcr.io/tum-dev/tum-live-voice-service:latest
# environment:
# - TRANSCRIBER=whisper
# - WHISPER_MODEL=tiny
# - MAX_WORKERS=10
# - DEBUG=1
# volumes:
# - mass:/mass
volumes:
vod:
mariadb-data:
runner_data:
mass:
meili_gocast_data:
recordings: