136 lines
3.2 KiB
YAML
136 lines
3.2 KiB
YAML
version: '3'
|
||
services:
|
||
mux:
|
||
image: registry.gitlab.com/omaradio/core/oma-mux:$OMA_DOCKER_VERSION
|
||
env_file:
|
||
- .env
|
||
- $DATA_DIR/.env
|
||
environment:
|
||
OMA_FORCE_Client1Host: $NET$ICECAST
|
||
OMA_FORCE_TelecommandeHost: $NET$TELECOM
|
||
OMA_FORCE_Pige: on
|
||
OMA_FORCE_LogLevel: 8
|
||
volumes:
|
||
- $DATA_DIR/soundbase/pige:/app/pige
|
||
ports:
|
||
- $MUX_SERVER_PORT:9000
|
||
depends_on:
|
||
- transcode
|
||
restart: unless-stopped
|
||
networks:
|
||
default:
|
||
ipv4_address: $NET$MUX
|
||
deploy:
|
||
resources:
|
||
limits:
|
||
cpus: '0.50'
|
||
memory: 100M
|
||
|
||
|
||
telecomserver:
|
||
image: registry.gitlab.com/omaradio/core/oma-telecom-server:$OMA_DOCKER_VERSION
|
||
env_file: .env
|
||
ports:
|
||
- $TELECOM_SERVER_PORT:3490
|
||
restart: unless-stopped
|
||
networks:
|
||
default:
|
||
ipv4_address: $NET$TELECOM
|
||
deploy:
|
||
resources:
|
||
limits:
|
||
cpus: '0.50'
|
||
memory: 100M
|
||
|
||
webserver:
|
||
image: registry.gitlab.com/omaradio/core/oma-webserver:$OMA_DOCKER_VERSION
|
||
env_file: .env
|
||
environment:
|
||
OMA_FORCE_TelecommandeHost: $NET$TELECOM
|
||
OMA_FORCE_PigeTxtLoadFic: off
|
||
restart: unless-stopped
|
||
volumes:
|
||
- $DATA_DIR/soundbase:/soundbase
|
||
ports:
|
||
- $WEBSOCKET_PORT:9000
|
||
networks:
|
||
default:
|
||
ipv4_address: $NET$WEBSERVER
|
||
deploy:
|
||
resources:
|
||
limits:
|
||
cpus: '0.5'
|
||
memory: 100M
|
||
|
||
transcode:
|
||
image: savonet/liquidsoap:v2.1.4
|
||
env_file:
|
||
- .env
|
||
- $DATA_DIR/.env
|
||
volumes:
|
||
- ./liquidsoap.liq:/transcode.liq
|
||
- $DATA_DIR/soundbase:/soundbase
|
||
command: /transcode.liq
|
||
restart: unless-stopped
|
||
networks:
|
||
default:
|
||
ipv4_address: $NET.108
|
||
deploy:
|
||
resources:
|
||
limits:
|
||
cpus: '0.50'
|
||
memory: 500M
|
||
|
||
|
||
icecast:
|
||
image: jeancloud/icecast:$OMA_DOCKER_VERSION
|
||
restart: unless-stopped
|
||
environment:
|
||
# echo -n "source:pass" | base64
|
||
ICECAST_ADMIN_USERNAME: admin
|
||
ICECAST_ADMIN_EMAIL: contact@oma-radio.fr
|
||
ICECAST_LOCATION: Rhône-Alpes
|
||
ICECAST_SOURCE_TIMEOUT: 120
|
||
ICECAST_HOSTNAME: $HEAD_HOST
|
||
# LOG: 4 -> Debug
|
||
ICECAST_LOGLEVEL: 4
|
||
TZ: Europe/Paris
|
||
env_file: $DATA_DIR/.env
|
||
healthcheck:
|
||
test: "wget http://127.0.0.1:8000/direct.ogg -O - -t 1 -T 3 -S --spider 2>&1 | grep '200 OK' && wget http://127.0.0.1:8000/direct.mp3 -O - -t 1 -T 3 -S --spider 2>&1 | grep '200 OK'"
|
||
interval: 1h0m0s
|
||
timeout: 10s
|
||
retries: 3
|
||
start_period: 1m0s
|
||
networks:
|
||
default:
|
||
ipv4_address: $NET$ICECAST
|
||
|
||
system_api:
|
||
image: jeancloud/system-api:$OMA_DOCKER_VERSION
|
||
env_file: .env
|
||
environment:
|
||
UID: 33
|
||
SOUNDBASE_PATH: /soundbase
|
||
MOUNT: /muxapi
|
||
CONFIG_PATH: /config
|
||
restart: unless-stopped
|
||
volumes:
|
||
- /tmp/uwsgi/$JC_SERVICE:/tmp/uwsgi
|
||
- /var/run/docker.sock:/var/run/docker.sock
|
||
- $DATA_DIR/soundbase:/soundbase
|
||
networks:
|
||
default:
|
||
ipv4_address: $NET.107
|
||
deploy:
|
||
resources:
|
||
limits:
|
||
cpus: '0.50'
|
||
memory: 500M
|
||
|
||
networks:
|
||
default:
|
||
ipam:
|
||
config:
|
||
- subnet: $NET.0/24
|