295 lines
6.9 KiB
YAML
295 lines
6.9 KiB
YAML
#
|
|
# AzuraCast Docker Compose Configuration File
|
|
#
|
|
# When updating, you will be prompted to replace this file with a new
|
|
# version; you should do this whenever possible to take advantage of
|
|
# new updates.
|
|
#
|
|
# If you need to customize this file, you can create a new file named:
|
|
# docker-compose.override.yml
|
|
# with any changes you need to make.
|
|
#
|
|
version: '2.2'
|
|
|
|
services:
|
|
nginx_proxy:
|
|
image: "azuracast/azuracast_nginx_proxy:${AZURACAST_VERSION:-latest}"
|
|
ports:
|
|
- '${AZURACAST_HTTP_PORT:-80}:80'
|
|
- '${AZURACAST_HTTPS_PORT:-443}:443'
|
|
volumes:
|
|
- letsencrypt:/etc/nginx/certs
|
|
- nginx_proxy_vhosts:/etc/nginx/vhost.d
|
|
- letsencrypt_html:/usr/share/nginx/html
|
|
- /var/run/docker.sock:/tmp/docker.sock:ro
|
|
environment:
|
|
DEFAULT_HOST: ${LETSENCRYPT_HOST:-azuracast.local}
|
|
networks:
|
|
- frontend
|
|
depends_on:
|
|
- web
|
|
restart: always
|
|
|
|
nginx_proxy_letsencrypt:
|
|
image: jrcs/letsencrypt-nginx-proxy-companion:latest
|
|
volumes_from:
|
|
- nginx_proxy
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
environment:
|
|
DEFAULT_EMAIL: ${LETSENCRYPT_EMAIL}
|
|
networks:
|
|
- frontend
|
|
restart: always
|
|
|
|
web:
|
|
container_name: azuracast_web
|
|
image: "azuracast/azuracast_web_v2:${AZURACAST_VERSION:-latest}"
|
|
# Want to customize the HTTP/S ports? Follow the instructions here:
|
|
# https://www.azuracast.com/help/docker/#use-non-standard-ports
|
|
ports:
|
|
- '${AZURACAST_SFTP_PORT:-2022}:2022'
|
|
depends_on:
|
|
- mariadb
|
|
- stations
|
|
- redis
|
|
env_file: azuracast.env
|
|
environment:
|
|
LANG: ${LANG:-en_US.UTF-8}
|
|
AZURACAST_DC_REVISION: 11
|
|
AZURACAST_VERSION: ${AZURACAST_VERSION:-latest}
|
|
AZURACAST_SFTP_PORT: ${AZURACAST_SFTP_PORT:-2022}
|
|
VIRTUAL_HOST: ${LETSENCRYPT_HOST:-azuracast.local}
|
|
LETSENCRYPT_HOST: ${LETSENCRYPT_HOST}
|
|
LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL}
|
|
volumes:
|
|
- letsencrypt:/etc/nginx/certs:ro
|
|
- www_vendor:/var/azuracast/www/vendor
|
|
- tmp_data:/var/azuracast/www_tmp
|
|
- station_data:/var/azuracast/stations
|
|
- shoutcast2_install:/var/azuracast/servers/shoutcast2
|
|
- geolite_install:/var/azuracast/geoip
|
|
- sftpgo_data:/var/azuracast/sftpgo/persist
|
|
- backups:/var/azuracast/backups
|
|
networks:
|
|
- frontend
|
|
- backend
|
|
restart: always
|
|
ulimits: &default-ulimits
|
|
nofile:
|
|
soft: 65536
|
|
hard: 65536
|
|
logging: &default-logging
|
|
options:
|
|
max-size: "1m"
|
|
max-file: "5"
|
|
|
|
mariadb:
|
|
image: "azuracast/azuracast_db:${AZURACAST_VERSION:-latest}"
|
|
volumes:
|
|
- db_data:/var/lib/mysql
|
|
env_file: azuracast.env
|
|
networks:
|
|
- backend
|
|
restart: always
|
|
logging: *default-logging
|
|
|
|
redis:
|
|
image: "azuracast/azuracast_redis:${AZURACAST_VERSION:-latest}"
|
|
sysctls:
|
|
net.core.somaxconn: 1024
|
|
volumes:
|
|
- redis_data:/data
|
|
networks:
|
|
- backend
|
|
restart: always
|
|
logging: *default-logging
|
|
|
|
stations:
|
|
container_name: azuracast_stations
|
|
image: "azuracast/azuracast_radio:${AZURACAST_VERSION:-latest}"
|
|
ports:
|
|
# This default mapping is the outgoing and incoming ports for the first 50 stations.
|
|
# You can override this port mapping in your own docker-compose.override.yml file.
|
|
# For instructions, see:
|
|
# https://www.azuracast.com/help/docker/#expand-the-docker-radio-station-port-range
|
|
- '8000:8000'
|
|
- '8005:8005'
|
|
- '8006:8006'
|
|
- '8010:8010'
|
|
- '8015:8015'
|
|
- '8016:8016'
|
|
- '8020:8020'
|
|
- '8025:8025'
|
|
- '8026:8026'
|
|
- '8030:8030'
|
|
- '8035:8035'
|
|
- '8036:8036'
|
|
- '8040:8040'
|
|
- '8045:8045'
|
|
- '8046:8046'
|
|
- '8050:8050'
|
|
- '8055:8055'
|
|
- '8056:8056'
|
|
- '8060:8060'
|
|
- '8065:8065'
|
|
- '8066:8066'
|
|
- '8070:8070'
|
|
- '8075:8075'
|
|
- '8076:8076'
|
|
- '8090:8090'
|
|
- '8095:8095'
|
|
- '8096:8096'
|
|
- '8100:8100'
|
|
- '8105:8105'
|
|
- '8106:8106'
|
|
- '8110:8110'
|
|
- '8115:8115'
|
|
- '8116:8116'
|
|
- '8120:8120'
|
|
- '8125:8125'
|
|
- '8126:8126'
|
|
- '8130:8130'
|
|
- '8135:8135'
|
|
- '8136:8136'
|
|
- '8140:8140'
|
|
- '8145:8145'
|
|
- '8146:8146'
|
|
- '8150:8150'
|
|
- '8155:8155'
|
|
- '8156:8156'
|
|
- '8160:8160'
|
|
- '8165:8165'
|
|
- '8166:8166'
|
|
- '8170:8170'
|
|
- '8175:8175'
|
|
- '8176:8176'
|
|
- '8180:8180'
|
|
- '8185:8185'
|
|
- '8186:8186'
|
|
- '8190:8190'
|
|
- '8195:8195'
|
|
- '8196:8196'
|
|
- '8200:8200'
|
|
- '8205:8205'
|
|
- '8206:8206'
|
|
- '8210:8210'
|
|
- '8215:8215'
|
|
- '8216:8216'
|
|
- '8220:8220'
|
|
- '8225:8225'
|
|
- '8226:8226'
|
|
- '8230:8230'
|
|
- '8235:8235'
|
|
- '8236:8236'
|
|
- '8240:8240'
|
|
- '8245:8245'
|
|
- '8246:8246'
|
|
- '8250:8250'
|
|
- '8255:8255'
|
|
- '8256:8256'
|
|
- '8260:8260'
|
|
- '8265:8265'
|
|
- '8266:8266'
|
|
- '8270:8270'
|
|
- '8275:8275'
|
|
- '8276:8276'
|
|
- '8280:8280'
|
|
- '8285:8285'
|
|
- '8286:8286'
|
|
- '8290:8290'
|
|
- '8295:8295'
|
|
- '8296:8296'
|
|
- '8300:8300'
|
|
- '8305:8305'
|
|
- '8306:8306'
|
|
- '8310:8310'
|
|
- '8315:8315'
|
|
- '8316:8316'
|
|
- '8320:8320'
|
|
- '8325:8325'
|
|
- '8326:8326'
|
|
- '8330:8330'
|
|
- '8335:8335'
|
|
- '8336:8336'
|
|
- '8340:8340'
|
|
- '8345:8345'
|
|
- '8346:8346'
|
|
- '8350:8350'
|
|
- '8355:8355'
|
|
- '8356:8356'
|
|
- '8360:8360'
|
|
- '8365:8365'
|
|
- '8366:8366'
|
|
- '8370:8370'
|
|
- '8375:8375'
|
|
- '8376:8376'
|
|
- '8380:8380'
|
|
- '8385:8385'
|
|
- '8386:8386'
|
|
- '8390:8390'
|
|
- '8395:8395'
|
|
- '8396:8396'
|
|
- '8400:8400'
|
|
- '8405:8405'
|
|
- '8406:8406'
|
|
- '8410:8410'
|
|
- '8415:8415'
|
|
- '8416:8416'
|
|
- '8420:8420'
|
|
- '8425:8425'
|
|
- '8426:8426'
|
|
- '8430:8430'
|
|
- '8435:8435'
|
|
- '8436:8436'
|
|
- '8440:8440'
|
|
- '8445:8445'
|
|
- '8446:8446'
|
|
- '8450:8450'
|
|
- '8455:8455'
|
|
- '8456:8456'
|
|
- '8460:8460'
|
|
- '8465:8465'
|
|
- '8466:8466'
|
|
- '8470:8470'
|
|
- '8475:8475'
|
|
- '8476:8476'
|
|
- '8480:8480'
|
|
- '8485:8485'
|
|
- '8486:8486'
|
|
- '8490:8490'
|
|
- '8495:8495'
|
|
- '8496:8496'
|
|
volumes:
|
|
- station_data:/var/azuracast/stations
|
|
- shoutcast2_install:/var/azuracast/servers/shoutcast2
|
|
- letsencrypt:/etc/nginx/certs:ro
|
|
- tmp_data:/var/azuracast/www_tmp
|
|
networks:
|
|
- frontend
|
|
- backend
|
|
init: true
|
|
restart: always
|
|
ulimits: *default-ulimits
|
|
logging: *default-logging
|
|
|
|
networks:
|
|
frontend:
|
|
driver: bridge
|
|
backend:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
nginx_proxy_vhosts: { }
|
|
db_data: { }
|
|
letsencrypt: { }
|
|
letsencrypt_html: { }
|
|
shoutcast2_install: { }
|
|
geolite_install: { }
|
|
sftpgo_data: { }
|
|
station_data: { }
|
|
www_vendor: { }
|
|
tmp_data: { }
|
|
redis_data: { }
|
|
backups: { }
|