version: "3.0" services: liquidsoap: build: context: liquidsoap args: gitbranch: master version: 1.5.0 buildnumber: 2665 image: privyplace/liquidsoap:master-1.5.0-2665 container_name: liquidsoap command: /radio/live.liq restart: unless-stopped networks: - default expose: - "8500" - "8081" - "9090" ports: - 10000:10000/udp - 10001:10001/udp - 8500:8500/tcp volumes: - ./radio:/radio - ./hls:/hls nginx: build: context: nginxhls image: privyplace/nginxhls:v1 container_name: nginx restart: unless-stopped networks: - default expose: - "80" ports: - 8080:80/tcp volumes: - ./hls:/hls - ./nginxhls/stream.conf:/etc/nginx/conf.d/stream.conf prometheus: image: prom/prometheus:v2.15.2 container_name: prometheus volumes: - ./monitoring/prometheus:/etc/prometheus - prometheus_data:/prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' - '--web.console.libraries=/etc/prometheus/console_libraries' - '--web.console.templates=/etc/prometheus/consoles' - '--storage.tsdb.retention.time=200h' - '--web.enable-lifecycle' restart: unless-stopped ports: - 9090:9090/tcp networks: - default labels: org.label-schema.group: "monitoring" alertmanager: image: prom/alertmanager:v0.20.0 container_name: alertmanager volumes: - ./monitoring/alertmanager:/etc/alertmanager command: - '--config.file=/etc/alertmanager/config.yml' - '--storage.path=/alertmanager' restart: unless-stopped expose: - 9093 networks: - default labels: org.label-schema.group: "monitoring" grafana: image: grafana/grafana:6.6.1 container_name: grafana volumes: - grafana_data:/var/lib/grafana - ./monitoring/grafana/provisioning:/etc/grafana/provisioning environment: - GF_SECURITY_ADMIN_USER=${ADMIN_USER:-admin} - GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin} - GF_USERS_ALLOW_SIGN_UP=false restart: unless-stopped ports: - 3000:3000/tcp networks: - default labels: org.label-schema.group: "monitoring" cadvisor: image: gcr.io/google-containers/cadvisor:v0.35.0 container_name: cadvisor volumes: - /:/rootfs:ro - /var/run:/var/run:rw - /sys:/sys:ro - /var/lib/docker:/var/lib/docker:ro - /cgroup:/cgroup:ro restart: unless-stopped expose: - 8080 networks: - default labels: org.label-schema.group: "monitoring" nodeexporter: image: prom/node-exporter:v0.18.1 container_name: nodeexporter volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro command: - '--path.procfs=/host/proc' - '--path.rootfs=/rootfs' - '--path.sysfs=/host/sys' - '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)' restart: unless-stopped expose: - 9100 networks: - default labels: org.label-schema.group: "monitoring" volumes: prometheus_data: {} grafana_data: {} networks: default: