2018-09-27 14:18:03 +02:00
|
|
|
version: '2'
|
|
|
|
|
|
|
|
services:
|
|
|
|
main:
|
|
|
|
build: ./docker-liquidsoap
|
|
|
|
volumes:
|
|
|
|
- ./state/liquidsoap/config:/config
|
2018-10-21 20:07:53 +02:00
|
|
|
- ./state/playlists:/playlists
|
2018-09-27 14:18:03 +02:00
|
|
|
- ./state/liquidsoap/data:/data
|
2018-10-21 20:07:53 +02:00
|
|
|
- ./state/jingles:/jingles
|
2018-09-27 14:18:03 +02:00
|
|
|
- /etc/localtime:/etc/localtime:ro
|
2018-10-21 20:07:53 +02:00
|
|
|
command: /bin/bash -xc 'env; liquidsoap -v --debug /config/main.liq'
|
2018-09-27 14:18:03 +02:00
|
|
|
environment:
|
|
|
|
- HARBOR_PASSWORD=MGT7aEqP
|
|
|
|
- LIVE_PASSWORD=fuckyoujoa
|
|
|
|
- BROADCAST_PORT_5001_TCP_ADDR=broadcast
|
|
|
|
- BROADCAST_PORT_5001_TCP_PORT=5001
|
|
|
|
links:
|
|
|
|
- icecast
|
|
|
|
ports:
|
|
|
|
- 8022:5002
|
|
|
|
- 127.0.0.1:5000:5000
|
|
|
|
restart: on-failure
|
|
|
|
|
|
|
|
broadcast:
|
|
|
|
build: ./docker-liquidsoap
|
|
|
|
volumes:
|
|
|
|
- ./state/liquidsoap/config:/config
|
|
|
|
- /etc/localtime:/etc/localtime:ro
|
|
|
|
command: /bin/bash -xc 'env; liquidsoap -v --debug /config/broadcast.liq'
|
|
|
|
environment:
|
|
|
|
- HARBOR_PASSWORD=MGT7aEqP
|
|
|
|
- ICECAST_PORT_8000_TCP_ADDR=icecast
|
|
|
|
- ICECAST_PORT_8000_TCP_PORT=8000
|
|
|
|
- ICECAST_SOURCE_PASSWORD=KUsFNWgh
|
|
|
|
links:
|
|
|
|
- icecast
|
|
|
|
restart: on-failure
|
|
|
|
|
|
|
|
icecast:
|
|
|
|
image: moul/icecast
|
|
|
|
volumes:
|
|
|
|
- /etc/localtime:/etc/localtime:ro
|
|
|
|
environment:
|
|
|
|
- ICECAST_SOURCE_PASSWORD=KUsFNWgh
|
|
|
|
- ICECAST_ADMIN_PASSWORD=admin
|
|
|
|
- ICECAST_PASSWORD=Bk3H7UM8
|
|
|
|
- ICECAST_RELAY_PASSWORD=hackme
|
|
|
|
labels:
|
2019-11-09 21:54:01 +01:00
|
|
|
- "traefik.enable=true"
|
|
|
|
- "traefik.http.services.radio-icecast.loadbalancer.server.port=8000"
|
2019-11-09 22:01:36 +01:00
|
|
|
|
|
|
|
- "traefik.http.routers.radio-icecast-http.entrypoints=web"
|
2019-11-09 21:59:10 +01:00
|
|
|
- "traefik.http.routers.radio-iceast-http.rule=Host(`iceast.radio.dodsorf.as`)"
|
2019-11-09 21:54:01 +01:00
|
|
|
- "traefik.http.routers.radio-icecast-http.middlewares=redirect@file"
|
2019-11-09 21:59:10 +01:00
|
|
|
|
2019-11-09 22:01:57 +01:00
|
|
|
|
2019-11-09 22:01:36 +01:00
|
|
|
- "traefik.http.routers.radio-icecast-https.entrypoints=websecure"
|
2019-11-09 21:59:10 +01:00
|
|
|
- "traefik.http.routers.radio-icecast-https.rule=Host(`icecast.radio.dodsorf.as`)"
|
|
|
|
- "traefik.http.routers.radio-icecast-https.tls=true"
|
2019-11-09 21:54:01 +01:00
|
|
|
- "traefik.http.routers.radio-icecast-https.tls.certresolver=normal"
|
2018-09-27 14:18:03 +02:00
|
|
|
networks:
|
|
|
|
- reverse
|
|
|
|
- default
|
|
|
|
|
|
|
|
web:
|
|
|
|
build: ./web
|
|
|
|
environment:
|
|
|
|
- MAIN_PORT_5000_TCP=tcp://main:5000
|
|
|
|
links:
|
|
|
|
- main
|
2018-10-20 23:58:40 +02:00
|
|
|
volumes:
|
2018-10-21 20:07:53 +02:00
|
|
|
- ./state/playlists:/playlists
|
2018-09-27 14:18:03 +02:00
|
|
|
labels:
|
2019-11-09 21:54:01 +01:00
|
|
|
- "traefik.enable=true"
|
|
|
|
- "traefik.http.services.radio-web.loadbalancer.server.port=80"
|
2019-11-09 22:01:36 +01:00
|
|
|
|
|
|
|
- "traefik.http.routers.radio-web-http.entrypoints=web"
|
2019-11-09 21:59:10 +01:00
|
|
|
- "traefik.http.routers.radio-web-http.rule=Host(`radio.dodsorf.as`)"
|
2019-11-09 21:54:01 +01:00
|
|
|
- "traefik.http.routers.radio-web-http.middlewares=redirect@file"
|
2019-11-09 21:59:10 +01:00
|
|
|
|
2019-11-09 22:01:57 +01:00
|
|
|
|
2019-11-09 22:01:36 +01:00
|
|
|
- "traefik.http.routers.radio-web-https.entrypoints=websecure"
|
2019-11-09 21:59:10 +01:00
|
|
|
- "traefik.http.routers.radio-web-https.rule=Host(`radio.dodsorf.as`)"
|
|
|
|
- "traefik.http.routers.radio-web-https.tls=true"
|
2019-11-09 21:54:01 +01:00
|
|
|
- "traefik.http.routers.radio-web-https.tls.certresolver=normal"
|
2018-09-27 14:18:03 +02:00
|
|
|
networks:
|
|
|
|
- reverse
|
|
|
|
- default
|
|
|
|
|
|
|
|
networks:
|
|
|
|
reverse:
|
|
|
|
external:
|
|
|
|
name: reverse
|