-
Notifications
You must be signed in to change notification settings - Fork 1
/
docker-compose.yml
57 lines (52 loc) · 1.68 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
version: '3.0'
services:
# initialize the state of each container or reset the state of the system,
# specificially the scheduler and redis containers. Built from information
# stored in the api.wjrh.org database
init:
build: ./init
depends_on: [scheduler, redis, icecast]
volumes:
- "./init:/home/wjrh/src"
- "./config.toml:/etc/config.toml/"
#- "./secrets/.pgpass:/home/wjrh/.pgpass"
redis:
image: redis:latest
ports:
- 127.0.0.1:6379:6379
# the auth service is a nodejs/express web app responsible for authorizing
# publish requests to the rtmp server
auth:
build: "./auth"
depends_on: [redis]
# an nginx server with the rtmp module responsible for hosting rtmp streams
# from remote djs. It is also responsible for invoking ffmpeg whenever a
# stream is created to transcode into mp3 and publish to the icecast server
rtmp:
image: "alfg/nginx-rtmp"
ports:
- 1935:1935
volumes:
- "./nginx/nginx.conf:/etc/nginx/nginx.conf.template"
depends_on: [auth, redis, icecast]
# the icecast server
icecast:
image: api.wjrh.org:5000/icecast:latest
ports:
- 8000:8000
volumes:
- "./icecast/web:/etc/icecast/web"
- "./icecast/admin:/etc/icecast/admin"
- "./icecast/icecast.xml:/etc/icecast/icecast.xml"
scheduler:
image: savonet/liquidsoap:master
environment: ['TZ=America/New_York']
volumes:
- "./scheduler/main.liq:/src/main.liq"
- "./scheduler/timestring.liq:/src/timestring.liq"
- "./scheduler/config.liq:/src/config.liq"
- "./secrets:/secrets"
command: ["/src/main.liq"]
ports:
- 1234:1234
depends_on: [icecast]