mirror of
https://github.com/AzuraCast/AzuraCast.git
synced 2024-06-19 07:27:07 +00:00
90fbf58f85
All core AzuraCast Docker images are now tagged with "latest" for rolling-release updates and "stable" for the latest stable version. Switching to release builds switches the images used for all AzuraCast components, yielding a much more stable interaction between components. As new releases are made, the "stable" versions of each image are updated in unison with each other.
283 lines
6.8 KiB
YAML
283 lines
6.8 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}
|
|
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}
|
|
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
|
|
- influxdb
|
|
- stations
|
|
- redis
|
|
env_file: azuracast.env
|
|
environment:
|
|
LANG: ${LANG:-en_US.UTF-8}
|
|
AZURACAST_DC_REVISION: 9
|
|
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/letsencrypt
|
|
- www_data:/var/azuracast/www
|
|
- 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
|
|
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
|
|
restart: always
|
|
logging: *default-logging
|
|
|
|
influxdb:
|
|
image: "azuracast/azuracast_influxdb:${AZURACAST_VERSION:-latest}"
|
|
volumes:
|
|
- influx_data:/var/lib/influxdb
|
|
restart: always
|
|
logging: *default-logging
|
|
|
|
redis:
|
|
image: "azuracast/azuracast_redis:${AZURACAST_VERSION:-latest}"
|
|
restart: always
|
|
logging: *default-logging
|
|
sysctls:
|
|
net.core.somaxconn: 1024
|
|
volumes:
|
|
- redis_data:/data
|
|
|
|
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/ssl:ro
|
|
- tmp_data:/var/azuracast/www_tmp
|
|
init: true
|
|
restart: always
|
|
ulimits: *default-ulimits
|
|
logging: *default-logging
|
|
|
|
volumes:
|
|
nginx_proxy_vhosts: {}
|
|
db_data: {}
|
|
influx_data: {}
|
|
letsencrypt: {}
|
|
letsencrypt_html: {}
|
|
shoutcast2_install: {}
|
|
geolite_install: {}
|
|
sftpgo_data: {}
|
|
station_data: {}
|
|
tmp_data: {}
|
|
www_data: {}
|
|
redis_data: {}
|
|
backups: {} |