Radio-dodsorfas/docker-compose.yml

95 lines
2.8 KiB
YAML

version: '2'
services:
main:
build: ./docker-liquidsoap
volumes:
- ./state/liquidsoap/config:/config
- ./state/playlists:/playlists
- ./state/liquidsoap/data:/data
- ./state/jingles:/jingles
- /etc/localtime:/etc/localtime:ro
command: /bin/bash -xc 'env; liquidsoap -v --debug /config/main.liq'
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:
- "traefik.enable=true"
- "traefik.http.services.radio-icecast.loadbalancer.server.port=8000"
- "traefik.http.routers.radio-icecast-http.entrypoints=web"
- "traefik.http.routers.radio-iceast-http.rule=Host(`iceast.radio.dodsorf.as`)"
- "traefik.http.routers.radio-icecast-http.middlewares=redirect@file"
- "traefik.http.routers.radio-icecast-https.entrypoints=websecure"
- "traefik.http.routers.radio-icecast-https.rule=Host(`icecast.radio.dodsorf.as`)"
- "traefik.http.routers.radio-icecast-https.tls=true"
- "traefik.http.routers.radio-icecast-https.tls.certresolver=normal"
networks:
- reverse
- default
web:
build: ./web
environment:
- MAIN_PORT_5000_TCP=tcp://main:5000
links:
- main
volumes:
- ./state/playlists:/playlists
labels:
- "traefik.enable=true"
- "traefik.http.services.radio-web.loadbalancer.server.port=80"
- "traefik.http.routers.radio-web-http.entrypoints=web"
- "traefik.http.routers.radio-web-http.rule=Host(`radio.dodsorf.as`)"
- "traefik.http.routers.radio-web-http.middlewares=redirect@file"
- "traefik.http.routers.radio-web-https.entrypoints=websecure"
- "traefik.http.routers.radio-web-https.rule=Host(`radio.dodsorf.as`)"
- "traefik.http.routers.radio-web-https.tls=true"
- "traefik.http.routers.radio-web-https.tls.certresolver=normal"
networks:
- reverse
- default
networks:
reverse:
external:
name: reverse